Cod sursa(job #147531)
Utilizator | Data | 3 martie 2008 09:35:49 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.3 kb |
#include<stdio.h>
#define M 1999999973
long long put(long long x,long long n){
long long r=1;
while(n>0){
if(n&1){
r=(r*x)%M;
n=n-1;
}
x=(x*x)%M;
n>>=1;
}
return r;
}
int main(){
long long p,n,x;
scanf("%lld %lld",&n,&p);
x=put(n,p);
printf("%lld",x);
return 0;
}