Preciso de ajuda em Fatorial

Preciso de ajuda nesta questão:

Escreva uma função fatorial, que calcule o fatorial de um número

Tentei fazer assim:

double fatorial(int n); int main(void){ int num = 3; printf(“Fatorial de %d = %.0lf”,num,fatorial(num)); return 0; }

double fatorial(int n){ double fat; if ( n <= 1 ) return (1); else{ return n * fatorial(n - 1); } }

mas a resposta dá erro.

Poderiam me auxiliar?

Ola! Existe um post, aqui mesmo no forum, que fala sobre fatorial e vai lhe ajudar :smiley: , segue o link: Fatorial Java

1 curtida

Li o tópico, modifiquei minha formula mas ainda dá erro, poderia me explicar melhor?

Estava dando uma olhada no seu codigo aqui e fiz uma ajuste para rodar em java.

Ele rodou com sucesso:

public static void main(String[] args) {
System.out.println(fatorial(5));
}

private static double fatorial(int n) {
	if (n <= 1)
		return 1;
	else {
		return n * fatorial(n - 1);
	}
}
2 curtidas

Muito obrigada pela ajuda Leonardo mas, continua dando erro:

function fatorial(n) { 
    if (n < 2){
       return 1; 
    } 
    return n * fatorial(n - 1); 
 }

Adaptado para JavaScript.

1 curtida

Muito, muito, muito obrigada, PedreiroDeSoftware e Leonardo_Belluzzi, consegui finalmente.

Olá boa noite a todos.

passando e dando uma olha nas questões.

Ajudando o amigo com a duvida acima tenho um modo mais simples de fazer calculo fatorial.

public static void main(String[] args) {

    Scanner teclado = new Scanner(System.in);
    System.out.println("Digite um valor:");
    int n = teclado.nextInt();
    int f = 1;
    int c = n;
    while (c>=1){
        f*= c;
        c--;
    }                
    System.out.println(Integer.toString(f));
}

Esse método é para mostrar em modo simple sem tela.