Cod sursa(job #670554)

Utilizator pongraczlajosLajos Pongracz pongraczlajos Data 29 ianuarie 2012 14:14:42
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<stdio.h>
#define modulo 1999999973
int n,p;

int hatvany(int n,int p)
{
	long long k;
	if (p==0)
	{
		return 1;
	}
	else
	{
        	k=hatvany(n,p/2);
    		if (p%2==0)
		{
			return k*k;
		}
		else
		{
			return k*k*n;
		}
	}
}

int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    scanf("%d %d",&n,&p);
    printf("%d",hatvany(n,p)%modulo);
}