Pagini recente » Cod sursa (job #369893) | Cod sursa (job #2798912) | Cod sursa (job #1996038) | Cod sursa (job #1064457) | Cod sursa (job #1982662)
#include<cstdio>
using namespace std;
const int NMAX=10000005;
int v[NMAX],aux[NMAX],n;
bool sortare(long long p){
int i,cf,ind=0;
bool ok=0;
for(cf=0;cf<10;cf++)
for(i=1;i<=n;i++){
if(v[i]/p%10==cf)
aux[++ind]=v[i];
if(v[i]/p>0)
ok=1;
}
for(i=1;i<=n;i++)
v[i]=aux[i];
return ok;
}
void radix_sort(long long p){
bool ok=sortare(p);
if(ok==0)
return ;
p*=10;
radix_sort(p);
}
int main(){
freopen("radixsort.in","r",stdin);
freopen("radixsort.out","w",stdout);
int a,b,c;
scanf("%d%d%d%d", &n, &a, &b, &c);
v[1]=b;
for(int i=2;i<=n;i++)
v[i]=(a*v[i-1]+b)%c;
radix_sort(1);
for(int i=1;i<=n;i+=10)
printf("%d ", v[i]);
return 0;
}