Cod sursa(job #664899)

Utilizator alexalghisiAlghisi Alessandro meitatiidirect.ro alexalghisi Data 21 ianuarie 2012 10:04:18
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <cstdio>
#define DN 1999999973
using namespace std;

int f(int nr,int p)
{
	if(p==1) return nr;
	else if(p==0) return 1;
	else
	{
		if(p%2!=0) 
		{
			return nr*f(nr,p-1)%DN;
		}
		
		int x=f(nr,p/2)%DN;
		return x*x%DN;
	}
}


int main()
{
	int nr,put;
	freopen("lgput.in","r", stdin);
	freopen("lgput.out","w", stdout);
	scanf("%d %d",&nr,&put);
	printf("%d",f(nr,put));
	return 0;
}