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ırEgzersiz 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
ntekse 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");
}
}