Cod sursa(job #710567)

Utilizator fhandreiAndrei Hareza fhandrei Data 9 martie 2012 23:45:37
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
//Include
#include <stdio.h>

//Constante
const int modulo = 1999999973;

//Variabile
FILE *in, *out;

int putere;

long long int n, solutie = 1;

//Main
int main()
{
	in = fopen("lgput.in","rt");
	out = fopen("lgput.out","wt");
	fscanf(in, "%lld%d", &n, &putere);
	
	for(int i=0 ; 1<<i <= putere ; ++i)
	{
		if(1<<i && putere)
			solutie *= n, solutie %= modulo;
		n *= n, n %= modulo;
	}
	
	fprintf(out, "%lld", solutie);
	
	fclose(in);
	fclose(out);
	return 0;
}