Cod sursa(job #2285639)

Utilizator sabinpocrisSabin P sabinpocris Data 18 noiembrie 2018 20:44:23
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <bits/stdc++.h> 
using namespace std;

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

long long raiseByBase(long long &base, long long &expo){
	long long temp = 1LL;
	while(expo > 1){
		if(expo % 2 == 0){
			base *= base;
			expo /= 2;
		} else {
			temp = base * expo;
			base *= base;
			expo = (expo - 1) / 2;
		}
	}
	return base * temp;
}


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

	in >> base >> expo;

	nr = raiseByBase(base, expo);

	out << (nr % 1999999973);
	return 0;
}