Pagini recente » Cod sursa (job #618353) | Cod sursa (job #344416) | Cod sursa (job #1567799) | Cod sursa (job #1069473) | Cod sursa (job #2758727)
#include <bits/stdc++.h>
using namespace std;
ifstream in("radixsort.in");
ofstream out("radixsort.out");
vector<int> v(10000000);
int main(){
long long n,a,b,c;
in>>n>>a>>b>>c;
v[0]=b;
for(int i=1;i<n;i++){
v[i]=(a*v[i-1]+b)%c;
}
for(int p=0;p<4;p++){
vector<int> bucket[256];
for(int i=0;i<n;i++){
bucket[(v[i]>>p*8)&255].push_back(v[i]);
}
for(int i=0,j=0;i<256;i++){
for(auto k:bucket[i]){
v[j++]=k;
}
}
}
for(int i=0;i<n;i++){
if(i%10==0)out<<v[i]<<" ";
}
}