Cod sursa(job #664896)

Utilizator alexalghisiAlghisi Alessandro Paolo alexalghisi Data 21 ianuarie 2012 10:03:13
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include <cstdio>
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);
		}
		
		int x=f(nr,p/2);
		return x*x;
	}
}


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;
}