Cod sursa(job #1968932)

Utilizator waren4Marius Radu waren4 Data 18 aprilie 2017 00:03:21
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;


ifstream f("lgput.in"); ofstream g("lgput.out");

long long n, p, ans;

int lgput(int p) {
    if (p == 1) {
        return n;
    }
    ans = lgput(p / 2);
    ans = (ans*ans) % 1999999973;
    if (p % 2 == 1) {
        ans = (ans*n) % 1999999973;
    }
    return ans;
}

int main() {
    f>>n>>p;
    g<<lgput(p);
    return 0;
}