Pagini recente » Cod sursa (job #1950224) | oji2014.11-12 | Cod sursa (job #336023) | Cod sursa (job #1357762) | Cod sursa (job #2623349)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("radixsort.in");
ofstream fout("radixsort.out");
long long v[10000001], bz[256], aux[10000001], n;
void RadixSort(int bit) {
int i;
for (i = 0; i < 256; i++) {
bz[i] = 0;
}
for (i = 0; i < n; i++) {
long long nr = (v[i] >> (8 * bit)) & 255;
bz[nr]++;
}
for (i = 1; i < 256; i++) {
bz[i] += bz[i-1];
}
for (i = n-1; i >= 0; i--) {
long long nr = (v[i] >> (8 * bit)) & 255;
aux[bz[nr]-1] = v[i];
bz[nr]--;
}
for (i = 0; i < n; i++) {
v[i] = aux[i];
}
}
int main()
{
long long a, b, c;
long long i;
fin >> n >> a >> b >> c;
v[0] = b;
for (i = 1; i < n; i++) {
v[i] = (a * v[i-1] + b) % c;
}
for (i = 0; i < 4; i++) {
RadixSort(i);
}
for (i = 0; i < n; i += 10) {
fout << v[i] << " ";
}
}