Pagini recente » Cod sursa (job #2907337) | Cod sursa (job #2563960) | Cod sursa (job #2349931) | Cod sursa (job #2852198) | Cod sursa (job #1359887)
#include <fstream>
#include <list>
using namespace std;
ifstream f("radixsort.in");
ofstream g("radixsort.out");
int n,a[10000001],i,l,b,c,lim=1<<30,base=256;
long long p;
list <int> v[300];
int main()
{
f>>n>>b>>a[1]>>c;
for (i=2;i<=n;i++)
a[i]=(b*a[i-1]+a[1])%c;
for (p=1;p<=lim/base;p*=base){
for (i=1;i<=n;i++){
v[(a[i]/p)%base].push_back(a[i]);
}
l=0;
for (i=0;i<=base;i++)
if (v[i].size()>0)
while(v[i].size()>0)
a[++l]=v[i].front(),v[i].pop_front();
}
for (i=1;i<=n;i+=10)
g<<a[i]<<' ';
return 0;
}