Cod sursa(job #2181112)

Utilizator Athena99Anghel Anca Athena99 Data 21 martie 2018 14:10:11
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>

using namespace std;

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

typedef long long i64;

const i64 mod= 1999999973;

i64 lgput( i64 n, i64 p ) {
    i64 sol= 1;
    for ( ; p>0; p/= 2 ) {
        if ( p%2==1 ) {
            sol= ((i64)sol*n)%mod;
        }

        n= ((i64)n*n)%mod;
    }

    return sol;
}

int main(  ) {
    i64 n, p;
    fin>>n>>p;

    fout<<lgput(n, p)<<"\n";

    return 0;
}