Pagini recente » Cod sursa (job #1590506) | Cod sursa (job #1850125) | Cod sursa (job #949721) | Cod sursa (job #556108) | Cod sursa (job #1841995)
#include <iostream>
#include <fstream>
#define NMAX 10000010
using namespace std;
ifstream f ("radixsort.in");
ofstream g ("radixsort.out");
int v[NMAX], q[NMAX], n, a, b, c;
void RadixSort()
{
int bit = 0;
while (bit < 31)
{
int v0 = 1, v1 = n + 1;
for (int i = 1; i <= n; i++)
{
if ((v[i] & (1<<bit)))
//v1.push_back(v[i]);
q[v1--] = v[i];
else
//v0.push_back(v[i]);
q[v0++] = v[i];
}
for (int i = 1; i < v0; i++)
v[i] = q[i];
for (int i = n + 1; i > v1; i--)
v[v0++] = q[i];
bit++;
}
}
int main()
{
f>>n>>a>>b>>c;
v[1] = b % c;
for (int i = 2; i <= n; i++)
v[i] = (a * v[i - 1] + b) % c;
RadixSort();
for (int i = 1; i <= n; i+=10)
g<<v[i]<<' ';
return 0;
}