Cod sursa(job #1712513)

Utilizator dcutitoiuCutitoiu Adrian-Nicolae dcutitoiu Data 2 iunie 2016 23:08:54
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>
#include <map>
#include <vector>
#include <algorithm>
#include <tuple>

using namespace std;

int power(int N, int P){
    if(P == 0)
        return 1;

    int X = power(N, P/2)%1999999973;

    if(P%2==1)
        return (1LL*X*X*N)%1999999973;
    else
        return (1LL*X*X)%1999999973;
}

int main(){

    int N, P;

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

    in>>N>>P;

    out<<power(N,P);

    return 0;
}