Pagini recente » Cod sursa (job #285796) | Cod sursa (job #2212767) | Cod sursa (job #486179) | Cod sursa (job #2075942) | Cod sursa (job #2100837)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("radixsort.in");
ofstream fout("radixsort.out");
int n, A, B, C, D = 0, E, SIZE;
vector<int> a;
vector< vector<int> > v;
void g()
{
long long r = A;
D = (r * D + B) % C;
int i = D / E;
v[i].push_back(D);
}
int main()
{
fin>>n>>A>>B>>C;
SIZE = sqrt(C) + 1;
v.resize(SIZE);
E = C / SIZE + 1;
for (int i = 0; i < n; i++) g();
for (int i = 0; i < SIZE; i++) sort(v[i].begin(), v[i].end());
for (int i = 0; i < SIZE; i++)
for (int j = 0; j < v[i].size(); j++)
a.push_back(v[i][j]);
for (int i = 0; i < a.size(); i+=10)
fout<<a[i]<<" ";
}