Pagini recente » Cod sursa (job #1656685) | Cod sursa (job #1470843) | Cod sursa (job #962072) | Cod sursa (job #196244) | Cod sursa (job #2433679)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("radixsort.in");
ofstream g("radixsort.out");
int k, c, d[10], pas=1, N, A, B, C, p=11, v[10000001], a[10][10000001];
int main()
{
f>>N>>A>>B>>C;
v[1]=B;
for (int i=2;i<=N;i++)
{
v[i]=(A*v[i-1]+B)%C;
}
p=1;
while (pas)
{
pas=0;
for (c=0;c<=9;c++) d[c]=0;
for (int i=1;i<=N;i++)
{
c=v[i]/p%10;
if (v[i]/(p*10)) pas=1;
d[c]++;
a[c][d[c]]=v[i];
}
k=0;
for(c=0;c<=9;c++) for(int i=1;i<=d[c];i++)v[++k]=a[c][i];
p*=10;
}
for (int i=1;i<=k;i+=10)
g<<v[i]<<" ";
return 0;
}