Cod sursa(job #3355826)

Utilizator MihneaC828Mihnea Circo MihneaC828 Data 26 mai 2026 18:24:13
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
const long long MOD = 1999999973;
long long lgput(int n, int 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);
}