Pagini recente » Cod sursa (job #2492934) | Cod sursa (job #849900) | Cod sursa (job #3354523) | Cod sursa (job #3312474) | Cod sursa (job #3349024)
#include <fstream>
#define nmax (int)(1e7+1)
using namespace std;
ifstream cin("radixsort.in");
ofstream cout("radixsort.out");
int v[nmax],a,b,c,n,bck[10],aux[nmax];
void radix_sort(){
for(int c=0,p=1;c<10;c++,p*=10){
for(int i=0;i<10;i++)
bck[i]=0;
for(int i=1;i<=n;i++){
bck[v[i]/p%10]++;
aux[i]=v[i];
}
for(int i=1;i<10;i++)
bck[i]+=bck[i-1];
for(int i=n;i>0;i--)
v[bck[aux[i]/p%10]--]=aux[i];
}
}
int main()
{
cin>>n>>a>>b>>c;
v[1]=b;
for(int i=2;i<=n;i++)
v[i]=(1ll*a*v[i-1]+b)%c;
radix_sort();
for(int i=1;i<=n;i+=10)
cout<<v[i]<<" ";
return 0;
}