Pagini recente » Cod sursa (job #2362162) | Cod sursa (job #1654370) | Cod sursa (job #2112422) | Cod sursa (job #2083373) | Cod sursa (job #2297651)
#include<fstream>
#include<cstring>
#include<algorithm>
using namespace std;
ifstream fin("radixsort.in");
ofstream fout("radixsort.out");
int maxi,i,n,a,b,c,ex,v[10000001];
void Radix(int ex)
{
int i;int f[10],o[10000001];
for(i=1;i<=n;i++)f[(v[i]/ex)%10]++;
for(i=1;i<=9;i++)f[i]+=f[i-1];
for(i=n;i>=1;i--)o[f[(v[i]/ex)%10]--]=v[i];
memcpy(v,o,sizeof(v));
}
int main()
{
fin>>n>>a>>b>>c;v[1]=b;maxi=b;
for(i=2;i<=n;i++){v[i]=(a*v[i-1]+b)%c;maxi=max(maxi,v[i]);}
for(ex=1;ex<=maxi;ex*=10)Radix(ex);
for(i=1;i<=n;i+=10) fout<<v[i]<<" ";
return 0;
}