Pagini recente » Cod sursa (job #2298562) | Cod sursa (job #1091448) | Cod sursa (job #2529475) | Cod sursa (job #620917) | Cod sursa (job #1356176)
#include<fstream>
#include<list>
using namespace std;
typedef int var;
ifstream fin("radixsort.in");
ofstream fout("radixsort.out");
list<var> B[100001];
var V[10000001];
var n;
void radixsort() {
for(var i=0; i<n; i++) {
B[V[i]%100000].push_back(V[i]);
}
var ind = 0;
for(var i=0; i<100001; i++) {
while(!B[i].empty()) {
V[ind++] = B[i].front();
B[i].pop_front();
}
}
for(var i=0; i<n; i++) {
B[V[i]/100000].push_back(V[i]);
}
ind = 0;
for(var i=0; i<100001; i++) {
while(!B[i].empty()) {
V[ind++] = B[i].front();
B[i].pop_front();
}
}
}
int main() {
var a, b, c;
fin>>n>>a>>b>>c;
V[0] = b;
for(var i=1; i<n; i++) {
V[i] = (a*V[i-1] + b)%c;
}
radixsort();
for(var i=0; i<n; i+=10) {
fout<<V[i]<<" ";
}
return 0;
}