Cod sursa(job #2611241)

Utilizator michael_blazemihai mihai michael_blaze Data 6 mai 2020 16:33:03
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 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;
}