Cod sursa(job #2521222)

Utilizator davidcotigacotiga david davidcotiga Data 10 ianuarie 2020 16:03:46
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream>
#include <cmath>
#include <string>
#include <algorithm>

using namespace std;

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

const int MOD = 1999999973;

int lgput(int n, int p) {
	int r = 1;
	while (p) {
		if (p % 2 == 1)
			r = (1LL * r * n) % MOD;
		n *= n;
		p /= 2;
	}
	return r;
}
int main() {
	int n, p;
	cin >> n >> p;

	cout << lgput(n, p);

	return 0;
}