Cod sursa(job #2356006)
| Utilizator | Data | 26 februarie 2019 13:56:23 | |
|---|---|---|---|
| Problema | Suma divizorilor | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.66 kb |
#include <fstream>
using namespace std;
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
int a,b;
int d,k,i;
long long q,q1,s=1;
int main()
{
f>>a>>b;
for (d=2;d*d<=a;d++)
{
k=0;
q=1;
while (a%d==0)
{
k++;
a=a/d;
q=(q*d)%9901;
}
if (k)
{
q1=1;
for (i=1;i<=b+1;i++)
q1=(q1*q)%9901;
s=(s*(q1-1)/(d-1))%9901;
}
}
if (a>1)
{
q=1;
for (i=1;i<=b+1;i++)
q=(q*a)%9901;
s=(s*(q-1)/(a-1))%9901;
}
g<<s;
return 0;
}
