Cod sursa(job #1914169)

Utilizator PopeangaMihneaPopeanga Mihnea- Stefan PopeangaMihnea Data 8 martie 2017 15:50:07
Problema Suma si numarul divizorilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int t, i, d, n, ndiv, s, e, p;
int main()
{
    fin>>t;
    for(i=1; i<=t; ++i)
    {
        fin>>n;
        d=2;
        ndiv=1;
        s=1;
        while(d*d<=n)
        {
            e=0;
            p=1;
            while(n%d==0)
            {
                ++e;
                p=p*d;
                n=n/d;
            }
            if(e>0)
            {
                ndiv=ndiv*(e+1);
                s=s*((p*d-1)/(d-1))%9973;
            }
            ++d;
        }
        if(n>1)
        {
            ndiv=ndiv*2;
            s=s*((n*n-1)/(n-1))%9973;
        }
        fout<<ndiv<<" "<<s<<"\n";
    }
    return 0;
}