Cod sursa(job #2423303)

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

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

int main()
{
	FILE *fL = fopen("Lgput.in", "r");
	
	long long int n, p;
	fscanf(fL,"%lli", &n);
	fscanf(fL, "%lli", &p);
	fclose(fL);

	FILE *fL2 = fopen("Lgput.out", "w");
	fprintf(fL2, "%lli\n", power(n, p));
	fclose(fL2);

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