Boa tarde a todos,
Estou aprendendo java e estou com dificultades para resolver um exercício que me foi proposto que é o seguinte.
Escreva um programa que, dada uma variável x (com valor 180, por
exemplo), temos y de acordo com a seguinte regra:
se x é par, y = x / 2
se x é impar, y = 3 * x + 1
imprime y
O programa deve então jogar o valor de y em x e continuar até que y tenha
o valor final de 1. Por exemplo, para x = 13, a saída será:
40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1
mas vc tah com duvidas qt a java ou quanto a logica de programacao?
pq basicamente o q vc tem q fazer eh criar um laço q dura enquanto o valor de y for diferente de um e dentro desse laco vericar se o numero eh par (se o resto da divisao do numero por dois for zero) ou impar, usando os comandos if/else.
eu acho q eh melhor vc da uma lida nele do q eu colocar o codigo aki pra vc, se vc ainda tiver alguma duvida pode postar ae…
falow cara…
U
Uso_JavaPJ
Como estou dando meus primeiros passos em java não sei muinta coisa e minha principal dúvida é como fazer o laço terminar quando estiver valendo 1.
E
ernanikPJ
para fazer um laço como você quer, nesse caso é melhor usar o comando while .
use ele mais ou menos assim:
while(y!=1){
...
...
...
}
dentro do corpo do while você coloca os outros condicionais que irão alterando o valor de y. como disse o Wollokow, não vou te dar o código pronto, estude, e não deixe de perguntar…
Abraços, até mais.