Pagini recente » Cod sursa (job #3296684) | Cod sursa (job #3296680) | Cod sursa (job #3243432) | Cod sursa (job #3298464)
#include<bits/stdc++.h>
using namespace std;
ifstream in("radixsort.in");
ofstream out("radixsort.out");
queue<int>q;
vector<queue<int>>bucket(10,queue<int>());
int a,b,c,n,val, ct=0;
int main()
{in>>n>>a>>b>>c;
val=b;
q.push(val);
for(int i=1;i<n;i++)
{val=(a*val+b)%c;
q.push(val);
}
for(int k=1,putere=1;k<=10;k++,putere*=10)
{while(!q.empty())
{int x=q.front();
q.pop();
bucket[x/putere%10].push(x);
}
for(int i=0;i<10;i++)
while(!bucket[i].empty())
{q.push(bucket[i].front());
bucket[i].pop();
}
}
while(!q.empty())
{ct++;
if(ct%10==1)
out<<q.front()<<" ";
q.pop();
}
}