Cod sursa(job #3135778)

Utilizator NoRules123Osadici Darius Bogdan NoRules123 Data 4 iunie 2023 14:26:25
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <bits/stdc++.h>

using namespace std;

#define ll long long

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

const int mod = 1999999973;

int lgput(ll x, ll n){
    if(n == 0){
        return 1;
    }
    else if(n % 2 == 0){
        return lgput(x * x % mod, n / 2);
    }
    else{
        return (x * lgput(x *x % mod, n / 2)) % mod;
    }
}

int main(){
    ll n, p;
    fin>>n>>p;
    fout<<lgput(n, p)<<"\n";
    return 0;
}