Cod sursa(job #2558719)

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

using namespace std;

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

int n, p;

int lgput (int n, int p){
    int 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