Qual das seguintes alternativas é um exemplo de recursão em uma função que calcula o fatorial de um número?
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Aplicar a estratégia de decomposição para resolver problemas complexos, dividindo esse problema em partes menores, resolvendo-as e combinando suas soluções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Qual das seguintes alternativas é um exemplo de recursão em uma função que calcula o fatorial de um número?
- A) def fatorial(n): return n * fatorial(n - 1) if n > 1 else 1
- B) def fatorial(n): return n + fatorial(n - 1) if n > 1 else 1
- C) def fatorial(n): return n - fatorial(n - 1) if n > 1 else 1
- D) def fatorial(n): return n / fatorial(n - 1) if n > 1 else 1
- E) def fatorial(n): return fatorial(n + 1) if n > 1 else 1
✅ Resposta correta: alternativa A
Resolução passo a passo
- Lembre a definição de fatorial: n! é o produto de todos os inteiros de 1 até n, por exemplo 5! = 5 x 4 x 3 x 2 x 1 = 120. Também vale a relação n! = n x (n-1)!, com 1! = 1 e 0! = 1.
- Recursão ocorre quando uma função chama a si mesma, com um argumento menor a cada chamada, até atingir um caso base que encerra as chamadas.
- A alternativa A traduz exatamente essa relação: se n > 1, retorna n * fatorial(n - 1); caso contrário (caso base), retorna 1. Assim fatorial(4) = 4 * fatorial(3) = 4 * 3 * fatorial(2) = 4 * 3 * 2 * fatorial(1) = 24, que é o valor correto.
- Por que as outras estão erradas: na B, o operador + transforma o cálculo em uma soma, não em um produto. Na C, o operador - produz uma subtração e não multiplica os termos. Na D, a divisão n / fatorial(n - 1) não corresponde à definição e gera resultados fracionários. Na E, a chamada fatorial(n + 1) afasta o argumento do caso base, então a recursão nunca termina.
- Conclusão: o gabarito oficial A está correto, pois é a única alternativa cuja chamada recursiva reduz o problema e multiplica os termos como manda a definição de fatorial.
💡 Dica: Identifique a definição de recursão na programação.
Alternativa por alternativa
Esta função é uma implementação correta do fatorial utilizando recursão.
O aluno trocou a operação de multiplicação pela de soma, achando que fatorial é a soma dos termos de 1 a n. Ele pode ter se confundido com a ideia de somatório.
Por que engana: Confundir operacoes matematicas corretas para o fatorial, usando soma, subtracao ou divisao em vez de multiplicacao na recursao.
O aluno acredita que a recursão deve usar subtração entre n e a chamada recursiva, sem perceber que fatorial exige produto dos termos.
O aluno acredita que o fatorial é obtido dividindo n pelo fatorial anterior, o que confunde a relação de multiplicação com uma divisão.
O aluno percebeu que a função chama a si mesma, mas inverteu o sentido da redução, usando n + 1. Assim o argumento cresce a cada chamada e nunca alcança o caso base, gerando recursão infinita.
Raio-X da questão
recursão e fatorial
avaliacao
conceito de funcao recursiva · operacoes matematicas basicas
Revisar o conceito de recursão e como calcular o fatorial.
Confundir operacoes matematicas corretas para o fatorial, usando soma, subtracao ou divisao em vez de multiplicacao na recursao.
pensamento_critico
abstrato
Questões parecidas com resolução
- Qual alternativa representa uma função recursiva correta que calcula o fatorial de um número?
- Como uma função recursiva pode ser utilizada para calcular o fatorial de um número?
- Identifique a função recursiva correta para calcular o fatorial de um número n.
- Descreva um algoritmo para calcular o fatorial de um número utilizando recursão.
- Considere uma função recursiva que retorna o fatorial de um número. Qual é a base da recursão normalmente utilizada para…
- Identifique a função recursiva que calcula o fatorial de um número n. Qual é a saída de fatorial(5)?
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
