Pagini recente » Cod sursa (job #54675) | Cod sursa (job #3200456) | Cod sursa (job #2302959) | Cod sursa (job #2981255) | Cod sursa (job #1376246)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream in("radixsort.in");
ofstream out("radixsort.out");
const int Nmax = 10000001;
int N,v[2][Nmax],a,b,c,p;
int main(){
in>>N>>a>>b>>c;
v[p][1]=b; for(int i=2;i<=N;i++) v[p][i]=(a*v[p][i-1]+b)%c;
for(int k=1;k<(1<<30);k<<=1){
p=!p;int i,j=0;
for(i=1;i<=N;i++) if((v[!p][i]&k)==0) v[p][++j]=v[!p][i];
for(i=1;i<=N;i++) if((v[!p][i]&k)>0) v[p][++j]=v[!p][i];
}
for(int i=1;i<=N;i+=10) out<<v[p][i]<<' ';out<<'\n';
return 0;
}