Pagini recente » Cod sursa (job #2252929) | Cod sursa (job #2544061) | Cod sursa (job #789457) | Cod sursa (job #2169810) | Cod sursa (job #3259763)
#include <fstream>
using namespace std;
int v[10000005];
inline void swa(int& a, int& b){
int aux;
aux = a;
a = b;
b = aux;
}
void rsort(int left, int right, int bitnr){
if(left >= right || bitnr == -1){
return;
}
int i, j;
j = left;
for(i = left; i <= right; i++){
if((v[i] & (1 << bitnr)) == 0){
swa(v[i], v[j]);
j++;
}
}
rsort(left, j - 1, bitnr - 1);
rsort(j, right, bitnr - 1);
}
int main()
{
ifstream cin("radixsort.in");
ofstream cout("radixsort.out");
int n, a, b, c;
cin >> n >> a >> b >> c;
v[1] = b;
for(int i = 2; i <= n; i++){
v[i] = (a * v[i - 1] + b) % c;
}
rsort(1, n, 30);
for(int i = 1; i <= n; i+=10){
cout << v[i] << " ";
}
return 0;
}