Cod sursa(job #1733999)

Utilizator alexandru.rusuRusu Alexandru alexandru.rusu Data 26 iulie 2016 12:16:44
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

long long n, p;

long long lgput(long long x, long long n)
{
	if (n == 0) return 1;
	if (n == 1) return x;
	if (n % 2 == 0)	return lgput(x*x, n / 2);
	if (n % 2 == 1) return x*lgput(x*x, (n - 1) / 2);
}

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

	printf("%d", lgput(n, p) % 1999999973);

}