Fatorial recursivo em Python
A definição n! = n × (n−1)! termina em 0 ou 1.
O que é Fatorial recursivo em Python?
A definição n! = n × (n−1)! termina em 0 ou 1.
Calcule n! usando recursão.
Quando usar?
- Entender algoritmos e estruturas de dados.
- Observar cada etapa e tratar casos de borda.
- Comparar tempo de execução e memória.
Código de exemplo
main.py
def factorial(number):
if number < 0:
raise ValueError("Factorial is undefined for negative numbers")
if number <= 1:
return 1
return number * factorial(number - 1)
print(factorial(6))
Saída esperada
720
Como funciona
Cada chamada reduz n; tempo e profundidade da pilha O(n).
Altere os valores e execute o programa no compilador Python online CodeUtility sem instalar Python.
Exercícios práticos
Altere as entradas e teste casos de borda antes de usar conjuntos de dados maiores.
- Teste entrada vazia, um elemento e duplicados.
- Mostre o estado após cada etapa.
- Compare o desempenho com outra solução.