Cod sursa(job #2245331)

Utilizator Mihai145Oprea Mihai Adrian Mihai145 Data 25 septembrie 2018 09:04:46
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>

using namespace std;

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

const int MOD = 1999999973;

long long Power(long long base, long long exp)
{
    long long answer = 1;
    long long aux = base;

    for(long long i = 1; i <= exp; i <<= 1)
    {
        if(i & exp)
        {
            answer = answer * aux % MOD;
        }

        aux = aux * aux % MOD;
    }

    return answer;
}

int main()
{
    long long N, P;

    fin >> N >> P;

    fout << Power(N, P);

    return 0;
}