Cod sursa(job #2718146)

Utilizator TrainingArcAndrei Slav TrainingArc Data 8 martie 2021 15:18:35
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.37 kb
#include <fstream>

const int mod = 1999999973;

int prod(int a, int b) { return (1ll*a*b)%mod; }

int putlog(int n, int k) {
	if(k==0) return 1;
	int x = putlog(n, k/2);
	if(k%2==0) return prod(x, x);
	return prod(n, prod(x, x));
}

int main() {
	std::ifstream fin("lgput.in");
	std::ofstream fout("lgput.out");
	int n, k;
	fin>>n>>k;
	fout<<putlog(n, k);
}