ComeçarComece de graça

Collatz

Um fato curioso da matemática é que regras simples podem gerar grandes consequências. Por exemplo, a Conjectura de Collatz pergunta se duas regras simples podem reduzir qualquer inteiro a 1.
Sua formulação usual é a seguinte:

  • Para números pares, divida por 2
  • Para números ímpares, multiplique por 3 e depois some 1
    Vamos testar isso!

Observação: se você enfrentar estouros de tempo de execução, verifique com cuidado a lógica do seu if-else (ou veja a Dica).

Este exercício faz parte do curso

Java intermediário

Ver curso

Instruções do exercício

  • Insira a condição de termino adequada.
  • Chame um método para verificar se n é par.
  • Trate corretamente o caso ímpar — isso só deve acontecer se o n original for ímpar.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

class Collatz {
  static boolean isEven(int n) {
    return n % 2 == 0;
  }
  
  public static void main(String[] args) {
    int n = 1634;
    int i = 0;
    System.out.print(n);
    // Enter the appropriate termination condition
    while (____) {
      // Call a method to check if n is even
      if (____(n)) {
        System.out.println(" is even");
        n /= 2;
      } // Handle the odd case correctly. All non-even integers are odd
      ____ {
        System.out.println(" is odd");
        n = n * 3 + 1;
      }
      System.out.print(n);
      i += 1;
    }
    System.out.println(" reached in " + i + " steps");
  }
}
Editar e executar o código