Cod sursa(job #2545914)

Utilizator arckerDolteanu Gabriel arcker Data 13 februarie 2020 17:49:37
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.36 kb
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
int MOD = 1999999973;

ll lgput(ll n, ll p){
	if(!p)return 1;
	if(p & 1)
		return n * lgput(n, p - 1) % MOD;
	return lgput((n * n) % MOD, p / 2);
}

int main(){
	ifstream cin("lgput.in");
	ofstream cout("lgput.out");
	ll n, p;
	cin >> n >> p;
	cout << lgput(n, p) << '\n';
	cin.close(), cout.close();
}