Cod sursa(job #1261257)
Utilizator | Irina Neagu irinaneagu | Data | 12 noiembrie 2014 08:09:13 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include<cstdio>
const int N=1999999973;
long long ridlaputlog(int n,int p){
if(p==1)
return n%N;
else
if(p%2==1)
return (n*ridlaputlog(n*n,p/2))%N;
else
return (ridlaputlog(n*n,p/2))%N;
}
int main(){
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
int n,p;
long long rez;
scanf("%d%d",&n,&p);
rez=ridlaputlog(n,p)%N;
printf("%lld",rez);
return 0;
}