Pagini recente » Cod sursa (job #174709) | Cod sursa (job #1613778) | Cod sursa (job #714998) | Cod sursa (job #616782) | Cod sursa (job #1555187)
#include <iostream>
#include <cstdio>
using namespace std;
long x[10000010],n,b,a,c;
void quick(int st,int dr)
{
if(st<dr)
{
int k=st,aux;
//for(int i=st;i<dr;i++)
// cout<<x[i]<<" ";
//cout<<endl;
for(int i=st;i<dr;i++)
if(x[i]<x[dr])
{
aux=x[i];
x[i]=x[k];
x[k++]=aux;
}
aux=x[dr];
x[dr]=x[k];
x[k]=aux;
quick(st,k-1);
quick(k+1,dr);
}
}
int main()
{
freopen("radixsort.in","r",stdin);
freopen("radixsort.out","w",stdout);
scanf("%d %d %d %d",&n,&a,&b,&c);
for(int i=1;i<=n;i++)
x[i]=(a*x[i-1]+b)%c;
quick(1,n);
for(int i=1;i<=n;i+=10)
printf("%d ",x[i]);
return 0;
}