Dúvida em algoritmo simples

4 respostas
thomazaudio

Como fazer um algoritmo para entrar com um numero, exemplo 5 e calcular 5x4x3x2x1 ?
Obrigado!

4 Respostas

AntonioDiego
public int fatorial(int x){
 //Vamos supor que o x passado seja 5
 //fatorial(x) = x*(x-1)*(x-2) * (x-3) .... (x-(x-1))
 //fatorial começa por 5 agora multiplicar por 5*(5-1)*(5-2)*(5-3)...(5-4)
 int fatorial = x; 
 
 //diferenca do x para o proximo fator
 int diferenca  = 1;

 while(diferenca<x){ //até 4 >< 5
   // inicia com 5, 5*(5-1)= 20 agora res ultado é 20 . depois 20*(5-2)=60*(5-3)=120*(5-4)=120
   fatorial*=(x-diferenca);
   diferenca++;
 }

return resultado;
}
leocantanhede

Isso irá te ajudar:

http://www.guj.com.br/java/226621-duvida-fatorial–resolvido

marcos4ft

Você pode fazer um for que vai percorrendo enquanto a variavel for maior q zero

for(int i=numero;i>o;i--)

Dentro do for só ir multiplicando pelo i.

D
Ta ai:
package problemGUJ;
import java.util.Scanner;
public class Fatorial {

	public static void main(String[] args) {
		
	Scanner input = new Scanner( System.in );
	System.out.print("Digite u número: ");  
    int num = input.nextInt();		
	int mult=1;
		for(int j=num; j>1; j--){
			mult=mult*j;
		}
	System.out.println(mult);
	}
}
Criado 23 de abril de 2012
Ultima resposta 23 de abr. de 2012
Respostas 4
Participantes 5