Pagini recente » Diferente pentru problema/cabane intre reviziile 4 si 3 | Cod sursa (job #2107762) | Cod sursa (job #3276158) | Diferente pentru problema/minmaxstore intre reviziile 3 si 2 | Cod sursa (job #2589674)
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
float putere(float x,int n)
{
if (n < 0)
return putere(1 / x,-n);
else if (n == 0)
return 1;
else if (n == 1)
return x ;
else if (n%2==0)
return putere(x * x, n / 2);
else if (n%2)
return x * putere(x * x, (n - 1) / 2);
else exit(1);
}
int main()
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
float n;
int p;
scanf("%f %d",&n,&p);
printf("%g",putere(n,p));
return 0;
}