Cod sursa(job #3234175)

Utilizator domdiridomdidomDominik domdiridomdidom Data 6 iunie 2024 20:17:23
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>


unsigned long long hatvany(unsigned long long a, unsigned long long b){
	unsigned long long szam;
	if(b == 1){
		return a;
	}else if(b % 2 == 0){
		szam = hatvany(a, b/2) * hatvany(a, b/2) % 1999999973;
	}else{
		szam = hatvany(a, b/2 + 1) * hatvany(a, b/2) % 1999999973;
	}
	return szam;
}

int main(){
	unsigned long long n, p;
	std::ifstream bem("lgput.in");
	std::ofstream kim("lgput.out");

	bem >> n >> p;
	kim << hatvany(n, p) << "\n";
	bem.close();
	kim.close();
}