Algoritmos em Python

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

Executar código →
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.

  1. Teste entrada vazia, um elemento e duplicados.
  2. Mostre o estado após cada etapa.
  3. Compare o desempenho com outra solução.
Executar no IDE Python →