Cod sursa(job #3355827)

Utilizator MihneaC828Mihnea Circo MihneaC828 Data 26 mai 2026 18:29:22
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
const long long MOD = 1999999973;
long long lgput(long long n, long long p)
{
    long long rez = 1;
    while (p > 0)
    {
        // daca p este impar
        if (p % 2 == 1)
            rez = (rez * n) % MOD;
        // ridicam baza la patrat
        n = (n * n) % MOD;
        // impartim exponentul la 2
        p /= 2;
    }
    return rez;
}
int main()
{
    long long n, p;
    fin >> n >> p;
    fout << lgput(n,p);
}