Oi, Pedro! Como vai?
Quero te parabenizar, porque você trouxe várias funções bem organizadas e que resolvem diferentes problemas do dia a dia da programação. Sobre sua fala, faz todo sentido você ter sentido mais dificuldade na lógica do fatorial, afinal, trabalhar com repetição e decremento pode ser desafiador no início.
Inclusive, olhando seu código, ele tá correto e funcional! Só vale uma atenção para o caso específico do fatorial(0)
. Por definição matemática, o fatorial de 0 é 1, e seu código já retorna corretamente esse valor, pois a variável fat
começa em 1.
Dica: se quiser, pode experimentar transformar sua função de fatorial em uma versão com for
, que muitas vezes fica mais intuitiva para algumas pessoas. Assim, você pratica outra estrutura de repetição. Veja um exemplo:
function fatorial(n){
let fat = 1;
for(let i = 1; i <= n; i++){
fat = fat * i;
}
return fat;
}
let resultado = fatorial(5);
console.log(resultado); // Vai exibir 120
Esse código faz exatamente o mesmo, só que utilizando o laço for
, que deixa claro que estamos percorrendo de 1 até n
.
Parabéns pela sua dedicação, Pedro! Bora continuar praticando e explorando esses conceitos, porque programação é isso: treino constante.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!