piscine-c06-tmp/ex03/ft_recursive_power.c

78 lines
4.0 KiB
C

int ft_recursive_power(int nb, int power)
{
if (power < 1)
return (power == 0);
return (nb * ft_recursive_power(nb, power - 1));
}
#define START
#include <stdio.h>
int main(void)
{
printf("base: <-3>, power <-2>, result: <%d>\n", ft_recursive_power(-3, -2));
printf("base: <-2>, power <-2>, result: <%d>\n", ft_recursive_power(-2, -2));
printf("base: <-1>, power <-2>, result: <%d>\n", ft_recursive_power(-1, -2));
printf("base: <0>, power <-2>, result: <%d>\n", ft_recursive_power(0, -2));
printf("base: <1>, power <-2>, result: <%d>\n", ft_recursive_power(1, -2));
printf("base: <2>, power <-2>, result: <%d>\n", ft_recursive_power(2, -2));
printf("base: <3>, power <-2>, result: <%d>\n", ft_recursive_power(3, -2));
printf("\n");
printf("base: <-3>, power <-1>, result: <%d>\n", ft_recursive_power(-3, -1));
printf("base: <-2>, power <-1>, result: <%d>\n", ft_recursive_power(-2, -1));
printf("base: <-1>, power <-1>, result: <%d>\n", ft_recursive_power(-1, -1));
printf("base: <0>, power <-1>, result: <%d>\n", ft_recursive_power(0, -1));
printf("base: <1>, power <-1>, result: <%d>\n", ft_recursive_power(1, -1));
printf("base: <2>, power <-1>, result: <%d>\n", ft_recursive_power(2, -1));
printf("base: <3>, power <-1>, result: <%d>\n", ft_recursive_power(3, -1));
printf("\n");
printf("base: <-3>, power: <0>, result: <%d>\n", ft_recursive_power(-3, 0));
printf("base: <-2>, power <0>, result: <%d>\n", ft_recursive_power(-2, 0));
printf("base: <-1>, power <0>, result: <%d>\n", ft_recursive_power(-1, 0));
printf("base: <0>, power <0>, result: <%d>\n", ft_recursive_power(0, 0));
printf("base: <1>, power <0>, result: <%d>\n", ft_recursive_power(1, 0));
printf("base: <2>, power <0>, result: <%d>\n", ft_recursive_power(2, 0));
printf("base: <3>, power <0>, result: <%d>\n", ft_recursive_power(3, 0));
printf("\n");
printf("base: <-3>, power <1>, result: <%d>\n", ft_recursive_power(-3, 1));
printf("base: <-2>, power <1>, result: <%d>\n", ft_recursive_power(-2, 1));
printf("base: <-1>, power <1>, result: <%d>\n", ft_recursive_power(-1, 1));
printf("base: <0>, power <1>, result: <%d>\n", ft_recursive_power(0, 1));
printf("base: <1>, power <1>, result: <%d>\n", ft_recursive_power(1, 1));
printf("base: <2>, power <1>, result: <%d>\n", ft_recursive_power(2, 1));
printf("base: <3>, power <1>, result: <%d>\n", ft_recursive_power(3, 1));
printf("\n");
printf("base: <-3>, power <2>, result: <%d>\n", ft_recursive_power(-3, 2));
printf("base: <-2>, power <2>, result: <%d>\n", ft_recursive_power(-2, 2));
printf("base: <-1>, power <2>, result: <%d>\n", ft_recursive_power(-1, 2));
printf("base: <0>, power <2>, result: <%d>\n", ft_recursive_power(0, 2));
printf("base: <1>, power <2>, result: <%d>\n", ft_recursive_power(1, 2));
printf("base: <2>, power <2>, result: <%d>\n", ft_recursive_power(2, 2));
printf("base: <3>, power <2>, result: <%d>\n", ft_recursive_power(3, 2));
printf("\n");
printf("base: <-3>, power <3>, result: <%d>\n", ft_recursive_power(-3, 3));
printf("base: <-2>, power <3>, result: <%d>\n", ft_recursive_power(-2, 3));
printf("base: <-1>, power <3>, result: <%d>\n", ft_recursive_power(-1, 3));
printf("base: <0>, power <3>, result: <%d>\n", ft_recursive_power(0, 3));
printf("base: <1>, power <3>, result: <%d>\n", ft_recursive_power(1, 3));
printf("base: <2>, power <3>, result: <%d>\n", ft_recursive_power(2, 3));
printf("base: <3>, power <3>, result: <%d>\n", ft_recursive_power(3, 3));
printf("\n");
printf("base: <-3>, power <10>, result: <%d>\n", ft_recursive_power(-3, 10));
printf("base: <-2>, power <10>, result: <%d>\n", ft_recursive_power(-2, 10));
printf("base: <-1>, power <10>, result: <%d>\n", ft_recursive_power(-1, 10));
printf("base: <0>, power <10>, result: <%d>\n", ft_recursive_power(0, 10));
printf("base: <1>, power <10>, result: <%d>\n", ft_recursive_power(1, 10));
printf("base: <2>, power <10>, result: <%d>\n", ft_recursive_power(2, 10));
printf("base: <3>, power <10>, result: <%d>\n", ft_recursive_power(3, 10));
printf("\n");
return (0);
}