BaşlayınÜcretsiz Başlayın

Collatz

Matematikte eğlenceli bir gerçek: Basit kurallar büyük sonuçlar doğurabilir. Örneğin, Collatz Varsayımı iki basit kuralın herhangi bir tamsayıyı 1'e indirip indiremeyeceğini sorar.
Genellikle şu şekilde ifade edilir:

  • Çift sayılar için, 2'ye böl
  • Tek sayılar için, 3 ile çarp, sonra 1 ekle
    Hadi deneyelim!

Not: Kod zaman aşımı yaşıyorsan, if-else ifadesinin mantığını dikkatlice kontrol et (veya İpucu'na bak).

Bu egzersiz

Orta Düzey Java

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Uygun bitiş koşulunu gir.
  • n'in çift olup olmadığını kontrol eden bir metot çağır.
  • Tek durumunu doğru ele al — bu yalnızca orijinal n tekse tetiklenmeli.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

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");
  }
}
Kodu Düzenle ve Çalıştır