Pagini recente » Cod sursa (job #1626908) | Cod sursa (job #2525763) | Cod sursa (job #90274) | Cod sursa (job #1960403) | Cod sursa (job #1841972)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f ("radixsort.in");
ofstream g ("radixsort.out");
vector<int> v;
void RadixSort(vector<int> & v, int bit)
{
vector<int> v0, v1;
while (bit < 31)
{
v0.clear();
v1.clear();
for (int i = 0; i < v.size(); i++)
{
if ((v[i] & (1<<bit)))
v1.push_back(v[i]);
else v0.push_back(v[i]);
}
v.clear();
for (int i = 0; i < v0.size(); i++)
v.push_back(v0[i]);
for (int i = 0; i < v1.size(); i++)
v.push_back(v1[i]);
bit++;
}
}
int n, a, b, c;
int main()
{
f>>n>>a>>b>>c;
v.push_back(b);
for (int i = 1; i < n; i++)
v.push_back((a * v[i - 1] + b) % c);
RadixSort(v, 0);
for (int i = 0; i < n; i+=10)
g<<v[i]<<' ';
return 0;
}