Cod sursa(job #2735996)

Utilizator moise_alexandruMoise Alexandru moise_alexandru Data 3 aprilie 2021 01:45:09
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.45 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
#define int long long
const int mod = 1999999973;

int lgput(int a, int b)
{
    if(b == 0)
        return 1;
    int p = lgput(a, b / 2);
    if(b % 2 == 0)
        return p * p % mod;
    return (p * p % mod) * a % mod;
}

int32_t main()
{
    int n, p;
    in >> n >> p;
    out << lgput(n, p) << "\n";
    return 0;
}