Pagini recente » Cod sursa (job #948740) | Cod sursa (job #444787) | Rating Putineanu Bogdan (Bogdan197) | Cod sursa (job #1517764) | Cod sursa (job #2387943)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("radixsort.in");
ofstream fout("radixsort.out");
deque< int > L[260];
int v[10000005];
int main()
{
int n, a, b, c, x, top;
fin >> n >> a >> b >> c;
v[1] = b;
for(int i = 2; i <= n; i++)
v[i] = (1LL * a * v[i - 1] + b) % c;
for(int k = 1; k <= 4; k++)
{
for(int i = 1; i <= n; i++)
{
x = (v[i] >> (8 * (k - 1))) & 255;
L[x].push_back(v[i]);
}
top = 0;
for(int i = 0; i < 256; i++)
{
while(!L[i].empty())
{
v[++top] = L[i].front();
L[i].pop_front();
}
}
}
for(int i = 1; i <= n; i += 10)
fout << v[i] << " ";
return 0;
}