Cod sursa(job #3203195)

Utilizator laurentiu.maticaMatica Laurentiu-Andrei laurentiu.matica Data 13 februarie 2024 11:34:15
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.42 kb
// #include <iostream>

#include <fstream>

using namespace std;

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

const int MOD = 1999999973;

long long pw(long long n, long long p)
{
	if (!p)
		return 1;
	else if (p % 2 == 1)
		return (n * pw(n, p - 1)) % MOD;
	long long e = pw(n, p / 2) % MOD;
	return (e * e) % MOD;
}

int main()
{
	long long n, p;
	cin >> n >> p;
	cout << pw(n, p);
	return 0;
}