Cod sursa(job #2493059)

Utilizator buhaidarius@gmail.comBuhai Darius [email protected] Data 15 noiembrie 2019 21:23:03
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.45 kb
#include <cstdio>

#define MODULO 1999999973

using namespace std;

long long lgpow(long long n, long long x){
    if(x==0) return 1;
    if(x==1) return n;
    if(x%2==0) return lgpow(n*n % MODULO , x/2) % MODULO;
    return (lgpow(n*n % MODULO, x/2) * n) % MODULO;
}

int main() {

    long long n, x;

    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);

    scanf("%lld %lld", &n, &x);
    printf("%lld", lgpow(n, x));

    return 0;
}