4
使用停止的Oracle解决三个未解决的问题
您将获得以下函数:h1(f,* args)和h2(f,* args) 两者都是已经为您定义的方法(此处的星号表示可变数量的参数) f是一个函数,* args是要传递给该函数的参数列表 h1返回一个布尔值:如果在* args上调用f时函数停止,则返回true;否则返回False(假定正在运行的计算机具有无限的时间和内存,并且您正在编写的语言的解释器/编译器)知道如何处理无限的时间和记忆)。 如果f(* args)曾经调用过h1或h2,则h1会引发异常 h2的行为与h1完全相同,只是如果f调用了h1,则h2不会引发异常 用尽可能少的字符编写一个无需输入且应输出的程序: The Collatz Conjecture is {True/False} Goldbach's Conjecture is {True/False} The Twin Primes Conjecture is {True/False} 基于每个猜想的有效性。 以下是解释每个猜想的维基百科链接: http://en.wikipedia.org/wiki/Collatz_conjecture http://en.wikipedia.org/wiki/Goldbach%27s_conjecture http://en.wikipedia.org/wiki/Twin_prime 您可以假设任何以您选择使用的语言编写的大整数库都将成功表示任意大整数。换句话说,我们假设任何能够表达的语言/库3**(3**10)也能够3**(3**(3**10))在足够强大的机器上表达。 显然,由于无法运行您的程序,请与代码一起说明其工作方式