Bom diaaaa!!!
Pessoal , sobre fatorial alguém pode falar um pouco mais sobre.... entendi a parte de como o descobrimos, mas a fórmula de como acha n.
Bom diaaaa!!!
Pessoal , sobre fatorial alguém pode falar um pouco mais sobre.... entendi a parte de como o descobrimos, mas a fórmula de como acha n.
Eu vou ser sincero e confessar que preciso rever minha matemática, mas eu bolei um trechinho de código humilde que talvez te ajude aqui:
int resultado = 1;
for (int i = 1; i<=10; i++) {
resultado *= i;
if (i < 10) {
System.out.print(i + "x");
} else {
System.out.print(i + " = ");
}
}
System.out.print(resultado);
É um loop usando for. Ele pega um valor de fora do loop, para que ele não seja redefinido toda vez que passar dentro do loop e faz a conta multiplicando pelo contador i. Então toda vez que ele passa, incrementa e multiplica o valor guardado na variável resultado.
Testa aí e me diz se ajudou a entender melhor. É claro, provavelmente dá pra melhorar isso aí.
Boa tarde Lucas!!!!
A minha dificuldade era como colocar a fórmula do fatorial dentro do for. N o exercício só pedia o fatorial de 10. Prq vc colocou fora outro //system.ou.print(resultado); // ???
public static void main(String[] args) {
int fatorial = 1;
for (int n = 1; n < 11 ; n ++) {
fatorial *= n;
System.out.println("Fatorial de" + n + "=" + fatorial);
}
}
Oi gente, sobre o fatorial, ele é uma operação matemática que faz multiplicações sucessivas dos antecessores de um número até o 1, ou seja, fatorial de 5 é indicado por 5! = 5 * 4 * 3 * 2 * 1. Eu não lembro se tinha alguma condição específica no desafio porque fiz a algum tempo, mas fiz um código que calcula o fatorial de 10.
public class Main
{
public static void main(String[] args) {
int fatorial = 1;
for (int i = 10; i>=1 ; i--) {
fatorial *= i;
}
System.out.println("10! = " + fatorial);
}
}
Bom dia Ludymila!
A minha ideia, quando escrevi esse trecho de código, foi deixar o loop apenas para incrementar o valor. Depois de ele fazer todo o trabalho de calcular, ele exibe o resultado.
Quando vc deixa ele imprimindo o resultado dentro do loop, ele imprime toda vez que faz a iteração. Não tá errado, é só outro jeito de fazer a mesma coisa. Se você quer ver o resultado incrementando, deixa dentro do loop. Se quer apenas o resultado final, fora do loop é um bom lugar.
Fui longe nessa lógica, escrevi muito código. Mas funcionou.
public class TestaFatorial {
public static void main(String[] args) {
for(int n = 1; n <= 10; n++) {
int total = n;
System.out.print("O fatorial de " + n + "!=");
for(int fatorial = 1; fatorial < n; fatorial++) {
total *= (n-fatorial);
System.out.print(fatorial + "x");
}
System.out.println(n + "=" + total);
}
}
}
Bom dia!!!
Obrigada pela explicação Lucas e Alessandro pelo código!!!
Boa noite,
Fui um pouco mais longe para explorar mais a tecnologia e o aprendizado.
Segue meu código.
import java.util.ArrayList;
public class Fatorial {
public static void main(String[] args) {
int fator = 30;
long contador = 1L;
String regex = "[, ]";
ArrayList<String> list = new ArrayList<String>();
for (int i = 1; i <= fator; i++) {
contador = contador * i;
list.add("" + i + "x");
}
String stringFator = list.toString().substring(1, list.toString().length() - 2).replaceAll(regex, "");
System.out.println("O fator de " + fator + " é igual a " + stringFator + " = " + contador + "");
}
}
Resultado
Opa pessoal
Muito bom! Parabéns a todos pelo empenho nos estudos!
Continuem praticando e qualquer dúvida pode contar com a gente.