Cod sursa(job #3195418)

Utilizator tanaseanualexiaAlexia Tanaseanu tanaseanualexia Data 20 ianuarie 2024 18:40:17
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <iostream>
#include <fstream>
using namespace std;

const int m = 1999999973;

long long rid_la_put(int baza, int putere) {
	long long rezultat = 1;
	while (putere > 0) {
		if (putere % 2 == 1)
			rezultat = (rezultat * baza) % m;
		baza = (baza * baza) % m;
		putere = putere / 2;
	}
	return rezultat;
}

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

	long long rezultat = rid_la_put(n, p); 
	fout << rezultat;
	
	return 0;
}