Cod sursa(job #2882890)

Utilizator Mihai7218Bratu Mihai-Alexandru Mihai7218 Data 31 martie 2022 21:37:04
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <cstdio>
using namespace std;
long long n, i, p;
const long long modul = 1999999973;
long long lgput (long long b, long long e)
{
    b %= modul;
    if (e == 0) return 1;
    if (e == 1) return b%modul;
    if (e % 2 == 0) return (lgput(b*b, e/2))%modul;
    return (b*lgput(b*b, (e-1)/2))%modul;
}
int main ()
{
    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);
    scanf("%lld%lld", &n, &p);
    printf("%lld", lgput(n, p)%modul);
}