Pagini recente » Cod sursa (job #347059) | Cod sursa (job #2048522) | Cod sursa (job #3134497) | Cod sursa (job #859237) | Cod sursa (job #2270722)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("radixsort.in");
ofstream fout("radixsort.out");
const int NMAX = 10000000;
int n;
int v[NMAX];
queue<int> q[257];
void radixsort()
{
int comp=(1<<8)-1; /// 11111111;
for(int b=0;b<=32-1;b+=8)
{
int cif;
for(int i=1;i<=n;i++)
{
cif=(v[i]>>b)∁
q[cif].push(v[i]);
}
int k=0;
for(int i=0;i<=comp;i++)
{
while(!q[i].empty())
{
v[++k]=q[i].front();;
q[i].pop();
}
}
}
}
int main()
{
int a,b,c;
fin >> n >> a >> b >> c;
v[1]=b;
for(int i=2;i<=n;i++)
{
v[i]=(a*v[i-1]+b)%c;
}
radixsort();
for(int i=1;i<=n;i+=10)
{
fout << v[i] << ' ' ;
}
return 0;
}