Cod sursa(job #1236447)

Utilizator tavitTeodorescu Octavian tavit Data 1 octombrie 2014 22:27:23
Problema Suma si numarul divizorilor Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>

using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
long n,t,i,a,x,s,p,sdiv,b,j;
int main()
{
    f>>t;
    for(i=1;i<=t;i++)
    {
        f>>n;
        a=2;
        x=n;
        s=1;
        sdiv=1;
        while(x>1 && a<=n)
        {
            p=0;b=1;
            while(x%a==0)
            {
                p++;
                x=x/a;
            }
        for (j=1;j<=p+1;j++)
        {
            b=b*a;
        }
        sdiv=sdiv*((b-1)/(a-1));
        if(p>0) s=s*(p+1);
        a++;
        }
    if(s==1)
    {
    s=s+1;
    sdiv=sdiv+n;
    }
    g<<s<<" "<<sdiv<<endl;
    }
    return 0;
}