Exercício Par ou Ímpar

Alguém consegue me ajudar com este exercício que segue abaixo?

  1. (opcional) Escreva um programa que, dada uma variável x com algum valor inteiro, temos um
    novo x de acordo com a seguinte regra:
    se x é par, x = x / 2
    se x é impar, x = 3 * x + 1
    imprime x
    O programa deve parar quando x tiver o valor final de 1. Por exemplo, para x = 13 , a saída
    será:
    40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1

Veja a minha resolução:

public class Imprimeparimpar {
public static void main(String[] args) {

	int x = 10;

	if (x % 2 == 0) {
		x /= 2;
		System.out.println("Condição par");
	} else {
		x = 3 * (x + 1);
		System.out.println("Condição ímpar");
	}

	System.out.println("Resultado " + x);
}

}

Não sei se é o que você quer, mas está ai:

	Scanner sc = new Scanner(System.in);
	System.out.print("Digite seu número: ");
	int x = sc.nextInt();
	
	while(x != 1) {
		
		if(x % 2 == 0) {
			x = x / 2;
		}else if(x % 3 != 0) {
			x = 3 * x + 1;
		}

		System.out.print(x + ", ");
	}
2 curtidas

Obrigado!