Identifique a função recursiva que calcula o fatorial de um número n. Qual é a saída de fatorial(5)?
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Identifique a função recursiva que calcula o fatorial de um número n. Qual é a saída de fatorial(5)?
- A) 120
- B) 24
- C) 60
- D) 100
- E) 10
✅ Resposta correta: alternativa A
Resolução passo a passo
- Resolvi sem olhar o gabarito. Pela definição recursiva do fatorial, fatorial(0) = 1 e, para n maior que 0, fatorial(n) = n * fatorial(n - 1). Passo 2: Aplicando a regra a n = 5: fatorial(5) = 5 * fatorial(4); fatorial(4) = 4 * fatorial(3); fatorial(3) = 3 * fatorial(2); fatorial(2) = 2 * fatorial(1); fatorial(1) = 1 * fatorial(0); fatorial(0) = 1. Passo 3: Substituindo de volta: fatorial(1) = 1, fatorial(2) = 2, fatorial(3) = 6, fatorial(4) = 24 e fatorial(5) = 5 * 24 = 120. Passo 4: A alternativa correta é a A (120), que coincide com o gabarito oficial. Passo 5: Por que as outras estão erradas: a B (24) é o valor de 4!, ou seja, o cálculo para no número anterior; a C (60) corresponde a 5 * 4 * 3, faltando multiplicar por 2 e por 1; a D (100) não é resultado de nenhuma etapa da recursão correta; a E (10) é a soma de 1 + 2 + 3 + 4, que confunde produto com soma. Passo 6: A questão pede a identificação da função recursiva, mas as alternativas trazem apenas o valor final; a resposta foi obtida pela definição padrão do fatorial.
💡 Dica: Considere a definição de fatorial e a função recursiva.
Alternativa por alternativa
A multiplicação de 5 * 4 * 3 * 2 * 1 resulta em 120.
O aluno calculou apenas até 4! e esqueceu de multiplicar pelo 5, usando o valor do passo anterior como resultado final.
Por que engana: Confundir o cálculo do fatorial com multiplicação simples ou somar os números em vez de multiplicar sequencialmente.
O aluno multiplicou apenas os três primeiros fatores (5 * 4 * 3 = 60) e interrompeu a recursão antes de chegar ao caso base, esquecendo os fatores 2 e 1.
O aluno acredita que o fatorial repete o fator 5 ou multiplica termos sem seguir a regra de n vezes (n-1) vezes ate 1; assim obteve 5 * 4 * 5 = 100, o que mostra que não entendeu que cada fator é um inteiro decrescente e distinto.
O aluno confundiu fatorial (produto dos inteiros de 1 até n) com soma dos inteiros, obtendo 1 + 2 + 3 + 4 = 10.
Raio-X da questão
função recursiva fatorial
avaliacao
conceito de fatorial · funcao recursiva
Revisar a definição e implementação de funções recursivas.
Confundir o cálculo do fatorial com multiplicação simples ou somar os números em vez de multiplicar sequencialmente.
pensamento_critico
abstrato
Questões parecidas com resolução
- Um programador está desenvolvendo uma função recursiva para calcular o fatorial de um número. Qual o resultado de…
- Identifique a função recursiva correta para calcular o fatorial de um número n.
- Um estudante desenvolve um algoritmo para calcular o fatorial de um número. Se o número é 5, qual deve ser o resultado?
- Qual das seguintes alternativas é um exemplo de recursão em uma função que calcula o fatorial de um número?
- Analise o código a seguir: def fatorial(n): return 1 if n==0 else n * fatorial(n-1). Qual o resultado de fatorial(5)?
- Qual alternativa representa uma função recursiva correta que calcula o fatorial de um número?
🔎 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
