Cod sursa(job #2558720)

Utilizator radugheoRadu Mihai Gheorghe radugheo Data 26 februarie 2020 19:19:19
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <bits/stdc++.h>
#define MOD 1999999973

using namespace std;

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

long long n, p;

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

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