Cod sursa(job #2611236)

Utilizator michael_blazemihai mihai michael_blaze Data 6 mai 2020 16:30:27
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>

using namespace std;


const int MOD = 1999999973;

int ridicare_la_putere(int x, int n) {
	if (n == 0)
		return 1;
	if (n % 2 == 0)
		return (2 * (ridicare_la_putere(x , n / 2) % MOD)) % MOD;
	else
		return ((x % MOD) * (ridicare_la_putere(x , n / 2) % MOD) * 2) % MOD;
}

int main() {
	freopen("lgput.in", "r", stdin);
	freopen("lgput.out", "w", stdout);
	int x, n;
	scanf("%d%d", &x, &n);

	printf("%d", ridicare_la_putere(x, n));

	return 0;
}