大约在1637年左右,Pierre de Fermat在他的算术副本的空白处写道:
It is impossible to separate a cube into two cubes, or a fourth power
into two fourth powers, or in general, any power higher than the
second, into two like powers. I have discovered a truly marvelous
proof of this, which this margin is too narrow to contain.
对于我们来说不幸的是,利润率仍然太窄而无法容纳证明。今天,我们将在空白处编写一个简单的程序,以确认任意输入的证明。
挑战
我们想要一个给定功能的函数程序,将其分成两个尽可能接近该功率的两对。我们希望执行此操作的程序尽可能小,以使其适合页边空白。
输入值
功率和功率号:c
,x
约束:c > 2
和x > 2
输入可以通过程序参数,函数参数或来自用户。
输出量
这种精确的字符串:“ a^x + b^x < c^x
”有a
,b
,c
,并x
与它们的字面整数值代替。a
并且b
必须选择,使a^x + b^x < c^x
的,没有其他价值a
或b
将使其更加接近c^x
。也:a>=b>0
输出可以通过函数返回值,stdout,保存到文件或在屏幕上显示。
例子:
> 3 3
2^3 + 2^3 < 3^3
> 4 3
3^3 + 3^3 < 4^3
> 5 3
4^3 + 3^3 < 5^3
> 6 3
5^3 + 4^3 < 6^3
> 7 3
6^3 + 5^3 < 7^3
> 8 3
7^3 + 5^3 < 8^3
由于费马(Fermat)具有一般的写作能力,因此不允许使用无法打印的字符。字符数最少的程序获胜。
排行榜
这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。
为确保您的答案显示出来,请使用以下Markdown模板以标题开头。
## Language Name, N characters
或者,您可以从以下内容开始:
## Language Name, N bytes
N
您提交的文件大小在哪里。如果您提高了分数,则可以将旧分数保留在标题中,方法是将它们打掉。例如:
## Ruby, <s>104</s> <s>101</s> 96 bytes
如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字:
## Perl, 43 + 2 (-p flag) = 45 bytes
您还可以将语言名称设置为链接,然后该链接将显示在页首横幅代码段中:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
x
,再c
?
a>=b>0
否则您的第一个示例将是无效的。为什么我们一定要显示<
,当你希望它是<=
?