Cod sursa(job #2278782)

Utilizator ianiIani Biro iani Data 8 noiembrie 2018 15:55:56
Problema Suma si numarul divizorilor Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>

using namespace std;

const int MOD=9973;

void sumadiv(int x,int &nrdiv, int &sdiv)
{
    int d=2,p;
    nrdiv=1;
    sdiv=1;
    while(x>1)
    {
        p=0;
        int e=1;
        while(x%d==0)
        {
            e=e*d;
            p=p+1;
            x=x/d;
        }
        if(p!=0)
        {
            nrdiv*=(p+1);
            e=e*d;
            sdiv=(sdiv*(e-1)/(d-1))%MOD;
        }
        d++;
    }
}

int main()
{
    ifstream fin ("ssnd.in");
    ofstream fout ("ssnd.out");
    int n;
    fin>>n;
    for (int var=0;var<n;++var)
    {
        int x,nrdiv,sdiv;
        fin>>x;
        sumadiv(x,nrdiv,sdiv);
        fout<<nrdiv<<' '<<sdiv<<'\n';
        //cout<<x<<' '<<nrdiv<<' '<<sdiv<<endl;
    }
    return 0;
}