Cod sursa(job #3235787)

Utilizator asparkCostea Andrei Ioan aspark Data 21 iunie 2024 15:16:11
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int mod = 1999999973;

long long lgpow(long long b,long long exp){

    if(exp == 0){
        return 1;
    }
    if(exp % 2 == 0){
        return lgpow(b * b % mod, exp / 2) % mod;
    }

    return b * lgpow(b, exp - 1) % mod;

}

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

    fout<<lgpow(n, p);

    return 0;
}