Cod sursa(job #1343578)
Utilizator | David Demetriad demetriad-dagpag | Data | 15 februarie 2015 17:09:09 |
---|---|---|---|
Problema | Suma divizorilor | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.45 kb |
#include <stdio.h>
#include <stdlib.h>
#define MODULO 9901
int put(int n,int p)
{
if(p==0) return 1;
if(p==1) return n%MODULO;
if(p%2==0) return(put(n*n%MODULO,p/2))%MODULO;
if(p%2==1) return(n*put(n*n%MODULO,p/2))%MODULO;
}
int main()
{
int a,b,x;
freopen("sumdiv.in","r",stdin);
freopen("sumdiv.out","w",stdout);
scanf("%d%d",&a,&b);
x=put(a,b+1);
printf("%d\n",((x-1)/(a-1))%MODULO);
return 0;
}