Anda diberi fungsi: h1 (f, * args) dan h2 (f, * args)
Keduanya adalah metode yang sudah ditentukan untuk Anda (di sini tanda bintang menunjukkan sejumlah variabel argumen)
f adalah fungsi, * args adalah daftar parameter yang akan diteruskan ke fungsi itu
h1 mengembalikan nilai boolean: Benar jika fungsi f pernah berhenti ketika dipanggil * args dan False jika tidak (dengan asumsi mesin yang menjalankannya memiliki waktu dan memori yang tak terbatas dan bahwa juru bahasa / kompiler untuk bahasa yang Anda tuliskan tahu bagaimana menangani waktu dan memori tanpa batas).
Jika f (* args) akan membuat panggilan ke h1 atau h2, h1 melempar pengecualian
h2 berperilaku persis seperti h1 kecuali bahwa jika f melakukan panggilan ke h1, maka h2 tidak akan melempar pengecualian
Dalam karakter sesedikit mungkin, tulis sebuah program yang tidak mengambil input dan harus menampilkan:
The Collatz Conjecture is {True/False}
Goldbach's Conjecture is {True/False}
The Twin Primes Conjecture is {True/False}
berdasarkan validitas dari masing-masing dugaan tersebut.
Berikut adalah tautan wikipedia yang menjelaskan masing-masing dugaan:
http://en.wikipedia.org/wiki/Collatz_conjecture
http://en.wikipedia.org/wiki/Goldbach%27s_conjecture
http://en.wikipedia.org/wiki/Twin_prime
Anda dapat mengasumsikan pustaka bilangan bulat besar dalam bahasa apa pun yang Anda pilih untuk digunakan akan berhasil mewakili bilangan bulat besar yang sewenang-wenang. Dengan kata lain, kita akan menganggap bahasa / pustaka apa pun yang mampu mengekspresikan 3**(3**10)
juga mampu mengekspresikan 3**(3**(3**10))
pada mesin yang cukup gemuk.
Jelas karena tidak mungkin menjalankan program Anda, berikan penjelasan tentang cara kerjanya bersama dengan kode