Cod sursa(job #2917604)

Utilizator vasi_kosminskiHoroi Vasile vasi_kosminski Data 5 august 2022 21:45:32
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>

std::ifstream fin("lgput.in");
std::ofstream fout("lgput.out");

long long int logarithmic(int n, int p, const int modulo)
{
	if (p == 0)
	{
		return n;
	}

	if (p % 2 == 1)
	{
		return ((n * (logarithmic(n, p - 1, modulo) % modulo)) % modulo);
	}

	return (((logarithmic(n, p / 2, modulo) % modulo) * (logarithmic(n, p / 2, modulo) % modulo)) % modulo);

}



int main() {
	int n, p;
	const int modulo = 1999999973;

	fin >> n >> p;

	fout << logarithmic(n, p, modulo);

	return 0;
}