给定一个正整数列表,输出其中每个相邻的整数对是否共享一个素数。换句话说,当且仅当列表中没有两个相邻的整数互质时,才输出true。
换句话说:给定正整数列表[a 1 a 2 …a n ],输出是否
gcd(a 1,a 2)> 1 && gcd(a 2,a 3)> 1 &&…&& gcd(a n-1,a n)> 1。
该列表将始终包含至少两个元素(n≥2)。
然而…
这个挑战也是受限制的:在您的答案中的代码点(无论它在哪个代码页中)都必须满足程序检查的条件。
例如,print 2
是一个有效程序。作为Unicode代码点的列表,它是[112 114 105 110 116 32 50],它满足以下条件:112和114共享因子2;和114和105的共用一个因子3,等
然而,main
能不能在一个有效的程序产生(对不起!),为的Unicode代码点m
和a
,即109和97,是互质。(非常感谢,您的提交不必是一个完整的程序!)
您的程序不允许包含代码点0。
测试用例
真相:
[6 21] -> 1
[502 230 524 618 996] -> 1
[314 112 938 792 309] -> 1
[666 642 658 642 849 675 910 328 320] -> 1
[922 614 530 660 438 854 861 357 477] -> 1
虚假:
[6 7] -> 0
[629 474 502 133 138] -> 0
[420 679 719 475 624] -> 0
[515 850 726 324 764 555 752 888 467] -> 0
[946 423 427 507 899 812 786 576 844] -> 0
这是代码高尔夫:以字节为单位的最短代码获胜。
print 2
一点,当我发现这是有效的时,我感到充满希望,但是);=ae
成为素数真的很困难,我没有考虑……我想知道像Haskell这样的东西是否可以竞争?
%)+/5;=CGIOSYaegkmq\DEL
。