Cod sursa(job #588542)

Utilizator bacerandreiBacer Andrei bacerandrei Data 8 mai 2011 15:48:27
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<cstdio>
#define modulo 1999999973

using namespace std;

long long n, p;

long long putere(long long n, long long p)
{
	if(!p) 
		return 1; 
	if(p%2) 
		return (n*putere(n,p-1))%modulo; 
	long long x;
	x=putere(n,p/2); 
	return (x*x)%modulo; 
	}

int main()
{
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);

	scanf("%lld %lld",&n,&p);
	printf("%lld",putere(n,p));

	fclose(stdin);
	fclose(stdout);

	return 0;
}