ÎncepețiÎncepe gratuit

Collatz

Un fapt amuzant din matematică este că reguli simple pot duce la consecințe mari. De exemplu, Conjectura Collatz întreabă dacă două reguli simple pot reduce orice număr întreg la 1.
Enunțul ei este de obicei următorul:

  • Pentru numerele pare, împarte la 2
  • Pentru numerele impare, înmulțește cu 3, apoi adaugă 1
    Hai să o testăm!

Notă: Dacă întâmpini erori de tip timeout, verifică cu atenție logica instrucțiunii if-else (sau consultă Indiciul).

Acest exercițiu face parte din cursul

Java intermediar

Vezi cursul

Instrucțiuni pentru exercițiu

  • Introdu condiția de terminare corespunzătoare.
  • Apelează o metodă pentru a verifica dacă n este par.
  • Tratează corect cazul impar – acesta ar trebui să se declanșeze doar dacă n-ul original este impar.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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");
  }
}
Editează și rulează codul