Cod sursa(job #1828445)
Utilizator | Data | 13 decembrie 2016 12:53:54 | |
---|---|---|---|
Problema | Suma divizorilor | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <bits/stdc++.h>
#define MOD 9901
using namespace std;
int Putere(int a,int n)
{
int p=1;
while (n>0)
{
if (n%2==1)p=1LL*p*a;
a=1LL*a*a;
n=n/2;
}
return p;
}
int main()
{
int a,b,s,i,p;
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
fin>>a>>b;
p=Putere(a,b);
s=1+p;
for(i=2;i*i<=p;i++)
if(p%i==0)s=s+i+p/i;
fout<<s%MOD<<"\n";
return 0;
}