Cod sursa(job #2749863)

Utilizator Andrei_TudorAndrei Tudor Andrei_Tudor Data 8 mai 2021 18:47:12
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.45 kb
#include <iostream>
using namespace std;

const int mod = 1999999973;

long long logpow(int n, int p, int MOD){
    if(p == 1){
        return n;
    }
    int rest = (p % 2) * n;
    if(rest == 0){
        rest = 1;
    }
    int power = logpow(n, p / 2, MOD);
    return (power * power * rest) % MOD;
}

ifstream cin("lgput.in");
ofstream cout("lgput.out");
int main(){
    int n, p;
    cin >> n >> p;
    cout << logpow(n, p, mod);
}