Pagini recente » Cod sursa (job #2404017) | Cod sursa (job #657700) | Cod sursa (job #684107) | Cod sursa (job #1229912) | Cod sursa (job #2641458)
#include <bits/stdc++.h>
using namespace std;
ifstream f("radixsort.in");
ofstream g("radixsort.out");
long long a,b,c;
int A,B,n,v[10000010],x0[10000010],x1[10000010];
int main(){
f>>n>>a>>b>>c;
v[1]=b;
for(int i=2;i<=n;i++)
v[i]=(a*(long long)v[i-1]+b)%c;
for(int j=0;j<31;j++){
A=B=0;
for(int i=1;i<=n;i++)
if(v[i]&(1<<j))
x1[++A]=v[i];
else
x0[++B]=v[i];
for(int i=1;i<=B;i++)
v[i]=x0[i];
for(int i=B+1;i<=n;i++)
v[i]=x1[i-B];
}
for(int i=1;i<=n;i+=10)
g<<v[i]<<' ';
}