Cod sursa(job #146672)

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

#define MOD 1999999973

long long N,P;

long long put ( long long N, long long P)
{
	if ( P <= 1 )
		return N;
	long 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 long rez = put(N, P);
	fout<<rez;

	return 0;
}