Cod sursa(job #2311905)

Utilizator chiutamarcelChiuta Mihai Marcel chiutamarcel Data 3 ianuarie 2019 20:31:51
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.43 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("lgput.in");
ofstream fout("lgput.out");

int N, P;
const int MOD = 1999999973;

int ridicareLaPutere(int N, int P){
    int r = 1;
    while(P){
        if (P % 2 == 1)
            r = r * N;
        N = N * N;
        P /= 2;
    }
    return r;
}

int main()
{
    fin >> N >> P;
    fout << ( 1LL * ridicareLaPutere(N, P) % MOD);
}