Cod sursa(job #1590110)
Utilizator | LLL LLL mihai2003 | Data | 4 februarie 2016 18:43:51 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include <stdio.h>
#include <stdlib.h>
#define MOD 1999999973
int powr(long long base, int expn)
{
long long res = 1;
while (expn>0){
if(expn%2!=0)
res=(res*base)%MOD;
base=(base*base)%MOD;
expn/=2;
}
return res%MOD;
}
int main()
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
long long int base ,expn;
scanf("%lld %lld",&base,&expn);
printf("%d",powr(base,expn));
return 0;
}