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
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
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
Perguntas interessantes