Cod sursa(job #2725726)

Utilizator radugheoRadu Mihai Gheorghe radugheo Data 19 martie 2021 16:18:29
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#define MOD 1999999973

using namespace std;

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

int lgput (long n, long long p){
    long long prod = 1;
    if (p == 0){
        return 1;
    }
    while (p != 0){
        if (p%2 == 1){
            prod = prod*n;
            prod = prod%MOD;
        }
        n = n*n;
        n = n%MOD;
        p = p/2;
    }
    return prod;
}

long long n, p;

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