Cod sursa(job #1581973)

Utilizator alexsandulescuSandulescu Alexandru alexsandulescu Data 27 ianuarie 2016 14:53:02
Problema Suma si numarul divizorilor Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>

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