Cod sursa(job #1347371)

Utilizator muraru_georgeMuraru George Cristian 323CB muraru_george Data 18 februarie 2015 22:19:58
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>

int power(int number, int pow)
{
	if (pow == 0)
		return 1;
	if (pow == 1)
		return number;
	int tmp = pow / 2;

	if (pow % 2 == 1)
		return number * power(number, tmp) * power(number, tmp);

	return power(number, tmp) * power(number, tmp);
}

int main(void)
{
	FILE *f_in = fopen("lgput.in", "rt");
	FILE *f_out = fopen("lgput.out", "wt");
	int num, pow;

	fscanf(f_in, "%d %d", &num, &pow);
	fprintf(f_out, "%d", power(num, pow));

	return 0;
}