Cod sursa(job #314971)
Utilizator | Data | 13 mai 2009 21:16:19 | |
---|---|---|---|
Problema | Suma divizorilor | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.38 kb |
#include <stdio.h>
#define MOD 9901
long long A,a,B,rez=1,EXP;
int main()
{
freopen("sumdiv.in","r",stdin);
freopen("sumdiv.out","w",stdout);
scanf("%lld %lld",&a,&B);
A=a;
++B;
while(B)
{
if(B%2==1)
rez=rez*A;
A=A*A;
B/=2;
}
EXP=(rez-1)/(a-1)%MOD;
printf("%lld\n",EXP);
return 0;
}