Cod sursa(job #2919350)

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

using namespace std;

int m = 1999999973;

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

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

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


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

}