1
resposta

Solução Desafio Fatorial sem tratar 0! como exceção

Pessoal, resolvi compartilhar com vocês a solução que encontrei para não criar um if para 0! ou imprimir uma mensagem pronta. Para tal é importante perceber que, por exemplo:

2! = 3! / 3

1! = 2! / 2

0! = 1! / 1

Para quem não sabia o porquê de 0! ser 1 já é possível ter uma noção com a demonstração acima. Desse modo, criei um código baseado nessa relação, ao querer saber o fatorial de um número, deve-se saber primeiro o fatorial do número seguinte. Espero que tenham gostado, bons estudos para todos nós!!!

public class DesafioFatorial {
    public static void main(String[] args) {

        int i;
        int fatorialDoProximoNumero = 1;
        int fatorialDoNumeroAtual;

        for(i=0; i<=10; i++) {
            i++;
            fatorialDoProximoNumero *= i;
            fatorialDoNumeroAtual = fatorialDoProximoNumero / i;
            i--;
            System.out.println(i + "! = " + fatorialDoNumeroAtual);
        }
    }
}
1 resposta

Interessante, começei esse curso e também acho válido retratar esse assunto. Obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software