Cod sursa(job #146668)

Utilizator andrei_infoMirestean Andrei andrei_info Data 1 martie 2008 23:23:41
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream.h>

#define MOD 1999999973

long N,P;

long put ( long N, long P)
{
	if ( P <= 1 )
		return N;
	long rez;
	if ( P % 2 == 0)
	{
		rez = put( N, P/2);
		rez = (rez * rez ) % MOD;
		return rez;
	}
	else
	{
		rez = ( N * put( N, P-1) ) % MOD;
		return rez;
	}
}

int main()
{
	ifstream fin("lgput.in");
	ofstream fout("lgput.out");

	fin>>N>>P;

	long rez = put(N, P);
	fout<<rez;

	return 0;
}