Informática, perguntado por xremix20, 1 ano atrás

Boas alguem pode-me ajudar a suprimir o ultimo x deste código?
ex: !5 = 5x4x3x2x1x = 120 eu quero que fique assim !5 = 5x4x3x2x1 = 120
tentei usar este codigo mas o que ele faz apaga-me todos os "x".


if(fat<-1){
System.out.print("x");
}



Scanner teclado = new Scanner(System.in);
System.out.println("Fatorial de n!");

int n, fat = 1;
int count = 1;


do {
System.out.println("Introduza um numero n: ");
n = teclado.nextInt();
System.out.print("!" + n + " = " );
for (int i = n; i >= 1; i--) {
fat = fat * i;
System.out.print(i);
System.out.print("x");
}
System.out.println( " = " + fat);
count++;
} while (count < 2);
}
}


output :

Fatorial de n!
Introduza um numero n:
5
!5 = 5x4x3x2x1x = 120

Soluções para a tarefa

Respondido por bokomoko
1
tente assim

for (int i = n; i >= 2; i--) {
fat = fat * i;
System.out.print(i);
System.out.print("x");
}
System.out.print(1);

Porque ? 

Porque o último multiplicador do fatorial é 1. Seu loop original estava indo até 1 porém não precisa. QUalquer número multiplicado por 1 é ele mesmo. Então vamos fazer a multiplicação apenas até 2 e depois exibir o "1" após o 2x e terminar 


xremix20: Obrigado funcionou bem para este problema
bokomoko: Tem algum outro problema ?
xremix20: neste momento não era só mesmo este
Perguntas interessantes