Cod sursa(job #2931641)

Utilizator k20ySabaceag Marius k20y Data 31 octombrie 2022 17:49:54
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.44 kb
#include <bits/stdc++.h>
using namespace std;

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

const int modulo = 1999999973;
using ll = long long;

ll lgput(ll x, ll putere)
{
    ll rez = 1;

    while(putere)
    {
        if(putere%2 == 1) (rez*=x)%=modulo;
        putere/=2;
        (x*=x)%=modulo;
    }

    return rez%modulo;
}

int main()
{

    ll n,p; in>>n>>p;
    out<<lgput(n,p);

    return 0;
}