Pagini recente » Cod sursa (job #365972) | Cod sursa (job #1628016) | Cod sursa (job #2141037) | Cod sursa (job #3213582) | Cod sursa (job #1356224)
#include<fstream>
#include<queue>
#include<string>
using namespace std;
typedef int var;
ifstream fin("radixsort.in");
ofstream fout("radixsort.out");
#define NO 256
queue<var> B[NO];
var V[10000002];
var n;
void radixsort() {
for(var pass = 0; pass < 4; pass++) {
for(var i=0; i<n; i++) {
var val = V[i] / (1 << (8*pass));
val = val % (1 << 8);
B[val].push(V[i]);
}
var ind = 0;
for(var i=0; i<NO; i++) {
while(!B[i].empty()) {
V[ind++] = B[i].front();
B[i].pop();
}
}
}
}
int main() {
var a, b, c;
fin>>n>>a>>b>>c;
V[0] = b;
for(var i=1; i<n; i++) {
V[i] = (1LL*a*V[i-1] + b)%c;
}
radixsort();
string res;
for(var i=0; i<n; i+=10) {
res += to_string(V[i]);
res += " ";
}
fout << res;
return 0;
}