Pagini recente » Cod sursa (job #715667) | Cod sursa (job #2432880) | Cod sursa (job #972347) | Cod sursa (job #422284) | Cod sursa (job #3175700)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("radixsort.in");
ofstream fout("radixsort.out");
#define N_MAX 10000000
#define BIT_MAX 31
int v[N_MAX];
void radixsort(int left, int right, int bit) {
if(left >= right || bit == -1) {
return;
}
int i, j;
j = left;
for(i = left; i <= right; ++i) {
if((v[i] & (1 << bit)) == 0) {
swap(v[i], v[j]);
++j;
}
}
radixsort(left, j - 1, bit - 1);
radixsort(j, right, bit - 1);
}
int main()
{
int n, a, b, c, i;
fin >> n >> a >> b >> c;
v[0] = b;
for(i = 1; i < n; ++i) {
v[i] = (a * v[i - 1] + b) % c;
}
radixsort(0, n - 1, BIT_MAX);
for(i = 0; i < n; i += 10) {
fout << v[i] << ' ';
}
return 0;
}