Cod sursa(job #2487987)

Utilizator maria15Maria Dinca maria15 Data 5 noiembrie 2019 22:17:58
Problema Radix Sort Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.11 kb
#include <fstream>

using namespace std;

ifstream fin("radixsort.in");
ofstream fout("radixsort.out");

int n;

int main(){
    fin>>n>>a>>b>>c;
    ant = b;
    for(i=2;i<=n;i++){
        x = (a*ant+b)%c;
        if(x > maxim)
            maxim = x;
        ant = x;
    }
    while(maxim){
        cifre++;
        maxim/=10;
    }
    for(j=1;j<=cifre;j++){      /// iau fiecare ordin la rand si sortez numerele dupa el, de la cifra cea mai nesemnificativa la cea mai semnificativa
        ant = b;
        while(ant){
            cif++;
            if(cif == j){
                cifra = ant%10;
                break;
            }
            ant /= 10;
        }
        f[cifra]++;
        ant = b;
        for(i=2;i<=n;i++){
            x = (a*ant+b)%c;
            cif = 0;
            while(x){
                cif++;
                if(cif == j){
                    cifra = x%10;
                    break;
                }
                x /= 10;
            }
            f[cifra]++;
        }
        for(i=1;i<10;i++)
            f[i] += f[i-1];
    }
    return 0;
}