Pagini recente » Cod sursa (job #283574) | Cod sursa (job #658885) | Cod sursa (job #1307718) | Cod sursa (job #2548968) | Cod sursa (job #2491366)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("radixsort.in");
ofstream fout("radixsort.out");
int A,B,C,N;
vector<int> v;
int main()
{
fin>>N>>A>>B>>C;
v.resize(N);
vector<int> a1[256];
v[0]=B;
for(int i=1; i<N; i++)
{
v[i]=(A * v[i-1] + B) % C;
}
int x=1;
for(int i=0; i <= 3; i++)
{
for(int j=0; j<N; j++)
{
int y=v[j]/x%256;
a1[y].push_back(v[j]);
}
v.clear();
for(int j=0; j<256; j++)
{
if(a1[j].size()!=0)
{
for(int e=0; e<a1[j].size(); e++)
{
v.push_back(a1[j][e]);
}
}
a1[j].clear();
}
x*=256;
}
//sort(v.begin(), v.end());
for(int i=0; i<N; i+=10)
{
fout<<v[i]<<" ";
}
return 0;
}