Cod sursa(job #627496)
Utilizator | Mihai Bogdan mihaibogdan10 | Data | 30 octombrie 2011 02:34:46 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include<cstdio>
using namespace std;
long long n, p;
long long Lgput(long long p){
if (p == 0) return 1;
if (p % 2 == 1) return Lgput (p-1) * n % 1999999973;
else {
long long x = Lgput (p/2) ;
return x * x % 1999999973;
}
}
int main(){
freopen("lgput.out","w",stdout);
freopen("lgput.in","r",stdin);
scanf("%lld %lld", &n, &p);
printf("%lld",Lgput(p));
return 0;
}