Pagini recente » Cod sursa (job #2966531) | Cod sursa (job #346929) | Cod sursa (job #3291679)
#include<fstream>
#include<vector>
const std::string txt="txt";
std::ifstream cin(txt+".in");
std::ofstream cout(txt+".out");
int v[10000005],u[10000005];
signed main(int n,int a,int b,int c,int mx,int nrc){
cin>>n>>a>>b>>c;
mx=b,nrc=1;
v[1]=b%c;
for(int i=2;i<=n;++i){
v[i]=(1LL*a*v[i-1]%c+b)%c;
mx=std::max(mx,v[i]);
}
while(mx/=10)
nrc*=10;
mx=1;
while(mx<=nrc){
int f[10]={0};
for(int i=1;i<=n;++i)
++f[v[i]/mx%10];
for(int i=0;i<10;++i)
f[i]+=f[i-1];
for(int i=n;i>0;--i)
u[f[v[i]/mx%10]--]=v[i];
for(int i=1;i<=n;++i)
v[i]=u[i];
mx*=10;
}
for(int i=1;i<=n;i+=10)
cout<<v[i]<<' ';
}