Cod sursa(job #3356404)

Utilizator albu-sebastianAlbu Sebastian albu-sebastian Data 31 mai 2026 17:32:46
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>

using namespace std;

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

#define NUM 1999999973

long long logpwmod(int n, int p)
{
    if (p == 0) return 1;

    long long aux = logpwmod(n, p / 2);
    aux = (aux * aux) % NUM;

    if (p % 2 == 1) aux = (aux * (n % NUM)) % NUM;

    return aux;
}

int main(void)
{
    unsigned int n, p;
    
    fin >> n >> p;
    fout << logpwmod(n, p) << endl;

    fin.close();
    fout.close();

    return 0;
}