Cod sursa(job #3239002)

Utilizator domdiridomdidomDominik domdiridomdidom Data 1 august 2024 12:00:50
Problema Ridicare la putere in timp logaritmic Scor 10
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 == 0)
		return 1;
	if(b == 1)
		return a;
	unsigned long long kov = hatvany(a, b/2);
	if(b % 2 == 0)
		szam = kov * kov % 1999999973;
	else
		szam = kov * kov % 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();
}