Cod sursa(job #2919354)

Utilizator alt_contStefan alt_cont Data 16 august 2022 20:15:56
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>
#include <iostream>

using namespace std;

long long m = 1999999973;

long long pow(long long n, long long p){
	if(p == 0)
		return 1;

	long long lsb = p % 2;
	long long sqr = pow(n, p/2);
	long long partial = (sqr * sqr) % m;

	if(lsb == 0)
		return partial;
	else
		return (n * partial) % m;
}


int main(){
	ifstream fin("lgput.in");
	ofstream fout("lgput.out");
	long long n, p;
	fin >> n >> p;
	fout << pow(n, p);

}