/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_recursive_power.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: lclerel- +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2026/03/09 10:34:20 by lclerel- #+# #+# */ /* Updated: 2026/03/09 10:40:43 by lclerel- ### ########.fr */ /* */ /* ************************************************************************** */ #include void ft_putnbr(int nb) { char value; if (nb == -2147483648) { write(1, "-2147483648", 11); return ; } if (nb < 0) { write(1, "-", 1); nb = -nb; } if (nb > 9) { ft_putnbr(nb / 10); } value = nb % 10 + '0'; write(1, &value, 1); } int ft_recursive_power(int nb, int power) { if (power < 0) return (0); if (power == 0) return (1); return (nb * ft_recursive_power(nb, power -1)); } int main(void) { int nb; write(1, "Test avec puissance de 5:", 25); write(1, "\n", 1); nb = ft_recursive_power(5, 5); ft_putnbr(nb); write(1, "\n", 1); write(1, "Test avec puissance de 10:", 26); write(1, "\n", 1); nb = ft_recursive_power(10, 10); ft_putnbr(nb); write(1, "\n", 1); write(1, "Test avec puissance de 20:", 26); write(1, "\n", 1); nb = ft_recursive_power(20, 20); ft_putnbr(nb); write(1, "\n", 1); write(1, "(20 depasse l'int limit, resultat mis a 0)", 42); write(1, "\n", 1); write(1, "Test avec puissance de 0:", 25); write(1, "\n", 1); nb = ft_recursive_power(0, 0); ft_putnbr(nb); write(1, "\n", 1); return (0); }