16
原始勾股三元组
(相关) 甲毕达哥拉斯三重是一个列表(a, b, c),其满足等式一个2 + B 2 = C 2。 甲原始毕达哥拉斯三(PPT)为其中a,b和c是全部互质(即,三个元件之间的唯一的公约数是1)。例如,(3, 4, 5)直角三角形是著名的原始毕达哥拉斯三重奏。 挑战 给定输入n,输出n第PPT张。要么, 给定输入n,输出第一个nPPT。 有多种方法可以对这些PPT进行排序,以形成排列良好的列表,从而确定哪个是n第一个。您可以选择所需的任何顺序,只要您可以证明(非正式地)算法可以生成所有可能的唯一PPT。例如,您的代码不应同时输出两者,(3,4,5)并且(4,3,5)由于它们是同一三元组的重复,请不要同时输出。 同样,只要声明使用的是代码,代码是零索引还是单索引都是可以的。 例子 在下面的示例中,我使用单索引,输出nth PPT,然后按最小c,然后最小a,然后最小的顺序进行排序b。 n | output 1 | (3, 4, 5) 2 | (5, 12, 13) 5 | (20, 21, 29) 12| (48, 55, 73) 规则 输入和输出可以任何方便的格式给出。 在您提交的文件中,请说明您的条目是如何排序的,以及您的条目是0索引还是1索引。 您选择的订单无法创建重复项。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 如果可能,请提供一个在线测试环境的链接,以便其他人可以尝试您的代码! 禁止出现标准漏洞。 …