三个正整数A,B,C是ABC-三重,如果它们是互质的,且A
例子:
1, 8, 9是一个ABC三重,因为它们是相互作用的,1<8和1+8=9。6, 8, 14不是因为他们不是警察7, 5, 12不是因为7>5有关ABC-三元组的更多细节,您可以看到这个Frits Beukers 2005专题介绍。
三个整数,十进制写的。可能是分隔的值或列表。无论这三个整数是否是ABC-三元组,输出都必须是一个真实/虚假的值。
注意:必须尊重列表中整数的顺序,例如:1, 8, 9不被视为与9, 1, 8或任何其他组合相同的列表。所以第一个是ABC-三重,第二个不是。
因此,A是列表的第一个元素,B是第二个元素,C是第三个元素。
以下每个列表都应该输出一个真实的值
[1, 8, 9]
[2, 3, 5]
[2, 6436341, 6436343]
[4, 121, 125]
[121, 48234375, 48234496]
以下每一个列表都应该输出一个falsey值
[1, 1, 2]
[1, 2, 5]
[1, 9, 8]
[4, 12872682, 12872686]
[6, 8, 14]
[7, 5, 12]发布于 2019-01-03 14:27:24
=AND(A1+B1=C1,GCD(A1:C1)=1,A1<B1)发布于 2019-01-03 16:54:49
n=>new int[(int)1e8].Where((_,b)=>n[0]%++b<1&n[1]%b<1).Count()<2&n[0]+n[1]==n[2]&n[0]<n[1]在我的机器上运行的数字可达1e8,大约需要35秒。这个函数没有像其他函数那样计算gcd,而是实例化一个巨大的数组,过滤不属于a或b的索引,并检查还剩下多少个元素。接下来,检查元素1加上元素2是否等于元素3。最后,它检查第一个元素是否小于第二个元素。
发布于 2019-01-03 17:19:49
https://codegolf.stackexchange.com/questions/178303
复制相似问题