Cod sursa(job #548294)

Utilizator tiriplicamihaiTiriplica Mihai Dragos tiriplicamihai Data 7 martie 2011 12:07:07
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <cstdio>

#define mod 1999999973

long long N,P;

void cit()
{
	scanf("%lld%lld",&N,&P);
}

long long putere(long long N,long long P)
{
	if(P==1)
		return N%mod;
	long long  x=putere(N,P/2);
	if(P%2==1)
	{
		long long  y=x*N%mod;
		return x*y%mod;
	}
	return x*x%mod;
}

int main()
{
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	cit();
	printf("%lld\n",putere(N,P));
	return 0;
}