Galera, o q ta comentado é a resolução do prof e ta correta… O negocio é q tive outro raciocínio e não sei extamente pq ta errado…alguma luz por favor?
// Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário. Ex.: //5!=5.4.3.2.1=120
System.out.println("Entre com um numero");intnum=scan.nextInt();System.out.println(num+"! = ");intfatorial=1;/* for (int i=num; i>0 ; i--) { fatorial*=i; System.out.println(i); }*/for(inti=1;i<num;i--){fatorial=num*(num-1);}System.out.println("Resultado: "+fatorial);
Quando num é 5, você está sempre multiplicando 5 x 4, e faz isso várias vezes sobrescrevendo o valor do fatorial. O certo é acumular o valor da variável, e não sobrescrever.
Além disso, a multiplicação tem que incluir o próprio num, então a condição tem que ser <=. E como o i tem que aumentar de valor a cada iteração, tem que ser i++ em vez de i--.
Ou seja:
intnum=// ler o valor do número intfatorial=1;for(inti=2;i<=num;i++){fatorial*=i;}
Ah sim, eu comecei o for em 2, porque não há necessidade de começar em 1 - qualquer número multiplicado por 1 é igual a ele mesmo então é redundante e desnecessário começar do 1.
naiane
Hugo muito obrigada hó… vc realmente esclareceu minha dúvida. é q eu viajo muito no raciocínio e as vezes saio da lógica… preciso manter mais meus pés no chão.
Fefo801 like
Uma sugestão: sempre tente fazer o caminho mais direto, mais simples. Deu certo? Ok… então você pode perder tempo mexendo em coisas menos importantes.
Com foco você chega longe.
naiane
Muito obrigada pela dica.
Hoje acordei com o pensamento de ser mais objetiva e terminar logo a lista de 35 exercícios de repetição, travo muito no raciocínio, volto, repito um exercício já feito , tentando fazer de outra forma ,talvez eu vá além do que convém, ou talvez minha lógica é ruim mesmo rs!
Fefo80
“Tempo é o tempo que se tem”.
Se você tiver tempo (e saco) para refazer 35 exercícios de 2 ou 3 formas diferentes… ótimo! Senão, simplesmente faça da forma mais eficaz e siga adiante.
E o tempo que você perderia refazendo os exercícios, você investe em aprender conteúdo novo.
O que acha?
naiane
Acho perfeito … e tbm acredito q preciso ser mais segura , no fundo morro de medo de ser reprovada em uma entrevista com algo básico e eu sei q sei sabe?? rs
Obrigada pelas dicas… são importantes demais pra mim! abraços
Fefo801 like
Assiste isso, vai te ajudar:
Você precisa ao menos saber fazer CRUD nas tecnologias que a vaga pede.
Uma coisa que ajuda é sempre buscar desafios novos, que te forcem a ver as coisas de forma diferente. Se você quiser umas ideias de projetos, me chama no privado.
Fique atenta às postagens aqui, as dicas são cada uma melhor que a outra. Você aprende bastante com as dúvidas dos outros.
E uma outra coisa que ajuda a aprofundar o conhecimento é, quando você tiver mais experiência, vir aqui no fórum e ajudar os novatos.
E sinta-se muito bem vinda ao fórum! Desejo excelente estadia!