这个挑战是要唤起我们通常是错误的 mod A. Alex A.的精神。 假设您有一个名为Alex的朋友,他需要有关基本逻辑和数学(特别是数学等效性)的帮助。 他为您提供了以下形式的方程式列表,[variable] = [variable]其中a [variable]始终是单个大写字母A到Z(不是小写字母,数字,也没有其他内容)。列表中每行只有一个方程,只说了一行therefore。 上面的所有方程式therefore都是前提,假设事实成立。下面的所有等式therefore都是未经验证的命题,这是Alex试图从前提推论得出的事实,它们可能是正确的也可能不是正确的。 例如,在此等式列表中,单个结论命题A = C恰好是正确的: A = B B = C therefore A = C 告诉亚历克斯,如果他的所有命题在逻辑上都遵循给定前提,这是您的工作。也就是说,您需要在结论中告诉Alex他是对还是错。 编写一个程序/函数,该程序/函数接受所描述的一系列方程式的字符串并打印/返回 Alex is right 如果所有结论都从前提逻辑上得出,否则输出 Alex is wrong 如果在逻辑上没有从前提得出任何结论。 以字节为单位的最短代码获胜。 确保注意以下情况: 变量始终等于自己。例如 B = A therefore A = A X = X 结果Alex is right。 …
尽管这里有许多涉及随机性的代码高尔夫问题,但我还没有看到有人真正要求构建算法伪随机数生成器。有一个要求您生成一个比特流,但是在那个端口上提供的随机性测试不是很严格,也不是代码高尔夫。 您编写的程序将具有一个可调用的函数,该函数将返回一个从0到4294967295的随机整数。此函数不得调用未作为程序一部分编写的任何库或其他函数,尤其是对/ dev / random的调用或语言的内置rand()库。更具体地说,您限于所用语言的基本运算符,例如算术,数组访问和条件流控制语句。 您的程序的分数计算如下: Score = C / R 其中C是代码的长度(以字符为单位),R是生成器通过的Diehard测试次数(如果您的随机数生成器未通过至少一项Diehard测试,则其得分为无穷大且不合格)。如果生成器生成的文件提供的P值范围似乎沿着间隔[0,1)均匀分布,则您的生成器通过了Diehard测试。 要计算R,请使用随机数生成器及其默认种子来生成16 MB的二进制数据文件。该函数的每次调用都返回四个字节。如果您的函数太慢而无法返回字节,则这将导致折衷考虑在测试难度上获得较低的分数。然后,通过Diehard测试运行它并检查提供的P值。(不要尝试自己实现这些;请使用此处提供的内容) 当然,最低分获胜。
给定左侧的50个美国州名之一作为输入,输出其两个字母的邮政编码,如右侧所示: Alabama AL Alaska AK Arizona AZ Arkansas AR California CA Colorado CO Connecticut CT Delaware DE Florida FL Georgia GA Hawaii HI Idaho ID Illinois IL Indiana IN Iowa IA Kansas KS Kentucky KY Louisiana LA Maine ME Maryland MD Massachusetts MA Michigan MI Minnesota MN Mississippi MS Missouri …