Ajuda_exercicio

2 respostas
M

Olá,sou iniciante em java,estou tentando resolver um exercício,ou melhor um loop,porém não estou conseguindo faze-lo,o problema é 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[b].

Eu já fiz uma parte,que é está abaixo,agora não estou conseguindo fazer o for,por favor se puderem me ajudar,eu agradeço,ehehe,me desculpem pela ignorância,pois sou iniciante no mundo do java,hehe.

public class Exerc6 {
	public static void main(String[] args) {
		int x =13;
		int y;
		
				if(x % 2 == 0){
					y = x / 2;
					x=y;
				}
				else{
					y = 3 * x + 1;
					x=y;
					
				}

				System.out.println(y);

			
	}

}

2 Respostas

nel

Vou tentar dar uma "luz", mas estou codificando aqui no GUJ mesmo, mas creio que ajude:

public class Exerc6 {  
    public static void main(String[] args) {  
        int x =13;  
        int y = 0;  
        while(y != 1) {  
                if(x % 2 == 0){  
                    y = x / 2;  
                    x=y;  
                }  
                else{  
                    y = 3 * x + 1;  
                    x=y;  
                      
                }    
                System.out.println(y);  
          }              
    }  
  
}

Só isso não resolve ?

M

opa!!,deu certo,valeu mesmo.

Criado 27 de março de 2012
Ultima resposta 27 de mar. de 2012
Respostas 2
Participantes 2