Cod sursa(job #2423284)

Utilizator dragosmdvMoldovan Dragos dragosmdv Data 20 mai 2019 23:17:58
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <stdio.h>

//returneaza rezultatul ridicarii lui n la puterea p
int power(int n, int p)
{
	if (p == 1)
		return n;
	if (p == 0)
		return 1;
	if (p % 2 == 0)
		return power(n, p / 2) * power(n, p / 2);
	else
		return power(n, p / 2) * power(n, p / 2) * n;
}

int main(int argc, char**argv)
{
	FILE *fL = fopen("Lgput.in", "r");
	FILE *fL2 = fopen("Lgput.out", "w");
	int n, p;
	fscanf(fL,"%d", &n);
	fscanf(fL, "%d", &p);
	fclose(fL);

	fprintf(fL2, "%d\n", power(n, p));
	fclose(fL2);

	//system("pause");
	return 0;
}