Cod sursa(job #1236636)
Utilizator | Data | 2 octombrie 2014 12:41:49 | |
---|---|---|---|
Problema | Suma si numarul divizorilor | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include <fstream>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int t,n,i,p,fct,s,nr,d;
int main()
{
f>>t;
for(i=1; i<=t; i++)
{
f>>n;
s=1;
nr=1;
d=2;
while(n>1)
{
p=0;
fct=d;
while(n%d==0)
{
p++;
fct*=d;
n/=d;
}
nr*=(p+1);
if (p>0) s*=(fct-1)/(d-1)%9973;
d++;
}
g<<nr<<" "<<s<<'\n';
}
return 0;
}