Pagini recente » Cod sursa (job #2395104) | Cod sursa (job #2747957) | Cod sursa (job #798116) | Cod sursa (job #1836667) | Cod sursa (job #2509309)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("radixsort.in");
ofstream fout ("radixsort.out");
int n,i,x,p;
int A,B,C;
bool ok;
vector <int> v, a[11];
int main()
{
fin>>n>>A>>B>>C;
for(i=1;i<=n;i++)
{
if(i==1)
v.push_back(A);
else
v.push_back((A*v[i-1]+B)%C);
}
p=1;
ok=true;
while(ok)
{
ok=false;
for(int it : v)
{
if(it/p>0)
ok=true;
a[(it/p)%10].push_back(it);
}
v.clear();
for(i=0;i<=9;i++)
{
for(int it : a[i])
v.push_back(it);
a[i].clear();
}
p*=10;
}
for(int it : v)
fout<<it<<' ';
return 0;
}