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