Cod sursa(job #1418144)
Utilizator | Data | 11 aprilie 2015 23:43:02 | |
---|---|---|---|
Problema | Suma si numarul divizorilor | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.67 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
long long c,p,nr,s,i,d,n,a;
fin>>n;
for(i=1;i<=n;++i)
{
fin>>a;
p=1; s=1;
d=2;
while(a>1)
{
c=1;
if(a%d==0)
{
nr=0;
while(a%d==0)
{
nr++;
a=a/d;
c=c*d;
}
s=s*((c*d-1)/(d-1));
p=p*(nr+1);
}
d++;
}
fout<<p<<' '<<s<<'\n';
}
}