Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

while (x != 1)

a seguinte condição do "while" significa que enquanto "x" igual a "1" será falso?

while (x != 1)
2 respostas
solução!

Enquanto X for DIFERENTE de 1 While ( x != 1 )

Sacou?

Depende do que a variável X tem dentro.. Sabendo isso o While vai verificar se é correto. Se for diferente de 1, ele continua executando o While.

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

        int x = 13;

        while (x != 1){
            if (x % 2 == 0) {
                x=x/2;
            } else {
                x=(3*x)+1;
            }
            System.out.println(x);     
        }
    }
}

Fazendo esse exercício ele retorna:

13 > 40 > 20 > 10 > 5 > 16 > 8 > 4 > 2 > 1

ou seja, números em uma ordem aleatória.

Gostaria de entender por que isso acontece... Como esse código é lido pela máquina?