Collatz
Sebuah fakta menarik dalam matematika adalah bahwa aturan-aturan sederhana dapat menghasilkan konsekuensi besar. Misalnya, Dugaan Collatz menanyakan apakah dua aturan sederhana dapat mengubah bilangan bulat apa pun menjadi 1.
Pernyataannya biasanya sebagai berikut:
- Untuk bilangan genap, bagi dua
- Untuk bilangan ganjil, kalikan dengan 3, lalu tambah 1
Mari kita uji!
Catatan: Jika Anda mengalami batas waktu eksekusi kode, periksa kembali logika pernyataan if-else (atau lihat Petunjuk).
Latihan ini adalah bagian dari kursus
Java Menengah
Petunjuk latihan
- Masukkan kondisi terminasi yang sesuai.
- Panggil sebuah metode untuk memeriksa apakah
ngenap. - Tangani kasus ganjil dengan benar—ini seharusnya hanya terjadi jika
nyang asli adalah ganjil.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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");
}
}