Cod sursa(job #1815656)

Utilizator EuAlexOtaku Hikikomori EuAlex Data 25 noiembrie 2016 16:42:57
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <cstdio>

using namespace std;

const int MOD = 1999999973;

long long mypow(long long n, int p) {
    long long ans;
    ans = 1;

    for( ; p; p = (p >> 1)) {
        if(p & 1)
            ans = (ans * n) % MOD;
        n = n * n;
    }

    return ans;
}

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

    long long n;
    int p;

    scanf("%lld%d", &n, &p);
    printf("%lld", mypow(n, p));

    return 0;
}