#include<stdio.h>

/* deklaracje funkcji */
float potega(float x,int y);
float rpotega(float x,int y);

int main()
{
	float x;
	int y;
	
	printf("Podaj podstawe i wykladnik potegowania.\nPodstawa= ");
	scanf("%f",&x);
	printf("Wykladnik= ");
	scanf("%d",&y);
	printf("%f^%d = %f\n",x,y,potega(x,y));
	printf("To samo za pomoca funkcji rekurencyjnej:\n%f^%d = %f\n",x,y,rpotega(x,y));

	return 0;
}



/* definicja f. potega */
float potega(float x,int y)
{
	float p=1;
	int i;
	if(y<0) 	{	x=1/x; y=-y; }

	for(i=1;i<=y;i++) p*=x;
	
   return p;
}


float rpotega(float x,int y)
{
	if(y<0) return 1.0/rpotega(x,-y);	
   if(y==0) return 1;
   return x*rpotega(x,y-1);
}

