Cod sursa(job #739615)
| Utilizator | Data | 23 aprilie 2012 16:13:32 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.35 kb |
#include <cstdio>
#define MOD 1999999973
long long rp(long long a, long long x){
if(x==1)return a%MOD;
if(x%2)return (rp(a,x-1)*a)%MOD;
else return (rp(a,x/2)*rp(a,x/2))%MOD;
}
int main () {
long long a,x;
freopen ("lgput.in","r",stdin);
freopen ("lgput.out","w",stdout);
scanf("%lld %lld",&a,&x);
printf("%lld",rp(a,x));
return 0;
}
