Cod sursa(job #3135501)
Utilizator | Data | 3 iunie 2023 15:00:10 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | c-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include <stdio.h>
#define MOD 1999999973
#define ll long long
int pow(ll n, ll p) {
if(p == 0) return 1;
if(p % 2 == 0)
return pow(n*n % MOD, p/2) % MOD;
return (n * pow(n*n % MOD, (p-1)/2)) % MOD;
}
int main() {
freopen("lgput.in", "r", stdin);
freopen("lgput.out", "w", stdout);
ll n, p;
scanf("%lld %lld", &n, &p);
printf("%d", pow(n, p));
}