Cod sursa(job #1560268)
| Utilizator | Data | 2 ianuarie 2016 12:52:37 | |
|---|---|---|---|
| Problema | Suma si numarul divizorilor | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <fstream>
#include <math.h>
using namespace std;
int main()
{
int n,d,k,s=0,c=1,t,i;
ifstream a ("ssnd.in");
ofstream b ("ssnd.out");
a>>t;
while(a>>n)
{
d=1;
s=1;
c=1;
while(n!=1)
{
k=0;
d=d+1;
while(n%d==0)
{
n=n/d;
k=k+1;
}
if(k)
{
c=c*(k+1);
s=s*(pow(d,(k+1))-1)/(d-1);
}
}
if(c==2)
b<<c<<" "<<(s-1)%9973<<'\n';
else b<<c<<" "<<s%9973<<'\n';
}
}
