Mai intai trebuie sa te autentifici.
Cod sursa(job #1452383)
| Utilizator | Data | 20 iunie 2015 17:17:41 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <stdio.h>
#define modulo2 1999999973
long long n,p,result = 1;
long long compute(int n, int p){
if (p == 0) return 1;
if (p == 1) return n;
result = compute(n, p/2);
result = result * result % modulo2;
if(p % 2 == 1)
result = (n * result) % modulo2;
return result;
}
int main(){
freopen("lgput.in", "r", stdin);
freopen("lgput.out", "w", stdout);
scanf("%lld %lld ", &n, &p);
printf("%lld", compute(n,p));
return 0;
}
