Cod sursa(job #3141165)

Utilizator ionescuraul26Ionescu Raul David ionescuraul26 Data 13 iulie 2023 09:14:01
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <iostream>
#include <fstream>
using namespace std;

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

const long long DIVISOR = 1999999973;

long long power(long long a, long long b, long long c)  {
    if (b == 0) {
        return 1;
    }
    int num = power(a, b / 2, c);
    if (b % 2 == 0) {
        return num * num % c;
    }
    return a * num * num % c;
}

int main() {
    int n, p;
    fin >> n >> p;
    fout << power(n, p, DIVISOR);
    return 0;
}