Pagini recente » Cod sursa (job #2193994) | Cod sursa (job #1623248) | Cod sursa (job #1849466) | Cod sursa (job #3133604) | Cod sursa (job #2042646)
#include <fstream>
#include <queue>
#define N 10000005
using namespace std;
ifstream fin ("radixsort.in");
ofstream fout("radixsort.out");
int n, v[N];
queue <int> q[256];
void radixsort()
{
int k;
for(int i = 0; i <= 24; i += 8)
{
for(int j = 1; j <= n; ++j)
q[(v[j]>>i)&255].push(v[j]);
k = 0;
for(int j = 0; j <= 255 && k < n; ++j)
while(!q[j].empty())
{
v[++k] = q[j].front();
q[j].pop();
}
}
}
int main()
{
int a, b, c;
fin >> n >> a >> b >> c;
v[1] = b;
for(int i = 2; i <= n; ++i)
v[i] = (1LL * a * v[i-1] + b) % c;
fin.close();
radixsort();
for(int i = 1; i <= n; i += 10) fout << v[i] << " ";
fout.close();
return 0;
}