Cod sursa(job #1740323)

Utilizator AplayLazar Laurentiu Aplay Data 11 august 2016 14:16:31
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <bits/stdc++.h>

#define MOD 1999999973

using namespace std;

long long N, P, answer = 1;

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

    scanf("%lld%lld", &N, &P);

    for (int pow = 0; (1 << pow) <= P; ++pow) {
        if ((1 << pow) & P) {
            answer = answer * N % MOD;
        }

        N = (N * N) % MOD;
    }

    printf("%lld", answer);

    fclose(stdin);
    fclose(stdout);

    return 0;
}