JavaScriptFunçõesintermediario

Recursão — fatorial

Recursão aparece em problemas reais como navegação em árvores de diretórios, processamento de JSON aninhado ou algoritmos de ordenação como merge sort. O padrão 'função que chama a si mesma' elimina a necessidade de loops manuais e torna o código mais declarativo. Dominar recursão é essencial para lidar com dados hierárquicos e problemas que podem ser decompostos em subproblemas idênticos.

O PROBLEMA

Crie função recursiva fatorial(n) sem usar loops.

EXEMPLO

fatorial(5) → 120
fatorial(0) → 1

SOBRE O CONCEITO

Recursão exige um caso base que interrompe as chamadas e uma chamada recursiva que aproxima o caso base. No fatorial, o caso base é n === 0 retornando 1, e a chamada recursiva é n * fatorial(n - 1). Erro comum: esquecer o caso base — sem ele, a função entra em loop infinito e causa stack overflow. Outro erro é usar caso base errado, como n === 1, que falha para fatorial(0), que deve retornar 1. Atenção: a função deve ser declarada com function (arrow function é proibida) e usar if para verificar a condição de parada.

RESOLUÇÃO

Mais exercícios de Funções

JSF019 · IntermediárioComposição de funçõesJSF020 · IntermediárioIIFEJSF022 · AvançadoGenerator functionJSF023 · AvançadoFunção pura vs impura
Ver todos os exercícios de JavaScript