Pagini recente » Cod sursa (job #2151066) | Cod sursa (job #1142240)
#include <cstdio>
using namespace std;
int i,n,a,b,c,Max=0,q[10][100002];
long long v[10000002];
void sortezz(long long p)
{
int i,k,j;
for(i=1;i<=n;++i)
{
k=v[i]/p%10;
q[k][++q[k][0]]=v[i];
}
k=0;
for(i=0;i<=9;++i)
{ for(j=1;j<=q[i][0];++j)
v[++k]=q[i][j];
q[i][0]=0;}
if(p*10<=Max) sortezz(p*10);
else
for(i=1;i<=n;i+=10)
printf("%lld ",v[i]);
printf("\n");
}
int main()
{
freopen("radixsort.in","r",stdin);
freopen("radixsort.out","w",stdout);
scanf("%d%d%d%d",&n,&a,&b,&c);
v[1]=b;
for(i=2;i<=n;++i)
{v[i]=(a*v[i-1]+b)%c;if(v[i]>Max) Max=v[i];}
sortezz(1);
return 0;
}