Pagini recente » Cod sursa (job #1449585) | Cod sursa (job #1098139) | Cod sursa (job #853648) | Cod sursa (job #2131821) | Cod sursa (job #1189411)
#include<stdio.h>
#include<vector>
using namespace std;
int N,A,B,C,MOD=255;
vector<int> r[256],v;
int main() {
freopen("radixsort.in","r",stdin);
freopen("radixsort.out","w",stdout);
scanf("%d%d%d%d",&N,&A,&B,&C);
v.push_back(B);
for(int i=1;i<N;++i) {
v.push_back((A * v[i-1] + B) % C);
}
for(int i=0;i<4;++i) {
for(int j=0;j<v.size();++j) {
r[(v[j]&MOD)>>8].push_back(v[j]);
}
v.clear();
for(int j=0;j<255;++j) {
for(int k=0;k<r[j].size();++k) {
v.push_back(r[j][k]);
}
r[j].clear();
}
MOD = MOD<<8;
}
for(int i=0;i<N;i+=10) {
printf("%d ",v[i]);
}
return 0;
}