Cod sursa(job #2285656)

Utilizator sabinpocrisSabin P sabinpocris Data 18 noiembrie 2018 21:21:13
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.44 kb
#include <bits/stdc++.h> 
using namespace std;
#define KEY 1999999973
ifstream in("lgput.in");
ofstream out("lgput.out");

long long raiseByBase(long long base, long long expo){
	long long nr = 1LL;
	while (expo){
		if (expo % 2)
			nr = base * nr % KEY;
		base = base * base % KEY;
		expo /= 2;
	}

	return nr;
}


int main(){
	long long nr = 0LL;
	long long base, expo;

	in >> base >> expo;

	nr = raiseByBase(base, expo);

	out << nr;
	return 0;
}