Logo Passei Direto
Buscar
Um estudante implementou a seguinte função recursiva para caslcular o fatorial de um número inteiro n phython def fatorial (n): return n * fatorial (n - 1) Ao executar o código com o valor n = 5, ocorre um erro de recursão infinita. Qual é o motivo correto desse erro?
User badge image
Iran Araújo

há 2 meses

Respostas

User badge image

Ed Verified user icon

há 2 meses

O erro de recursão infinita ocorre porque a função `fatorial` não possui uma condição de parada. Para calcular o fatorial de um número inteiro `n`, você precisa definir um caso base, que geralmente é quando `n` é igual a 0 ou 1. Aqui está uma versão corrigida da função: ```python def fatorial(n): if n == 0 or n == 1: # Condição de parada return 1 else: return n * fatorial(n - 1) ``` Com essa condição, quando `n` chega a 0 ou 1, a função retorna 1 e a recursão termina corretamente.

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina