Cod sursa(job #638312)
Utilizator | Data | 20 noiembrie 2011 20:12:57 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.35 kb |
#include<stdio.h>
#define mod %1999999973
long long logput(long long n,long long p){
if(p==0)
return 1;
if(p%2)
return (n*logput((n*n)mod,p/2))mod;
else
return logput((n*n)mod,p/2);
}
int main(){
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
long n,p;
scanf("%ld%ld",&n,&p);
printf("%ld",logput(n,p));
return 0;
}