Cod sursa(job #1580849)

Utilizator alexsandulescuSandulescu Alexandru alexsandulescu Data 26 ianuarie 2016 10:45:54
Problema Suma si numarul divizorilor Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>

using namespace std;
ifstream f ("ssnd.in");
ofstream g ("ssnd.out");
int n,d,p,nr,sum,l,t;
int main()
{
    f>>t;
    for(int j=1; j<=t; j++)
    {
        f>>n;
        d=2;
        p=0;
        nr=1;
        sum=1;
        l=1;
        while(n>1&&d*d<=n)
        {
            p=0;
            while(!(n%d))
            {
                n/=d;
                p++;
            }
            nr=nr*(p+1);
            l=1;
            for(int i=1; i<=p+1; i++)
                l*=d;
            sum=sum*((l-1)/(d-1));
            d++;
        }
        if(n>1)
        {
            nr*=2;
            sum*=(n*n-1)/(n-1);
        }
        g<<nr<<' '<<sum<<'\n';
    }
    return 0;
}