รับรายการของจำนวนเต็มบวกเอาท์พุทว่าทุกคู่ที่อยู่ติดกันของมันในหุ้นที่เป็นปัจจัยสำคัญ กล่าวอีกนัยหนึ่งเอาท์พุทความจริงถ้าหากไม่มีสองจำนวนเต็มเพื่อนบ้านในรายการเป็นแบบร่วม
ในอีกแง่หนึ่ง: รับรายการจำนวนเต็มบวก[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 codepoints มันคือ[112 114 105 110 116 32 50]ซึ่งเป็นไปตามเงื่อนไขนี้: 112และ114แบ่งปันปัจจัยที่2 ; และ114และ105แบ่งปันปัจจัย3ฯลฯ
อย่างไรก็ตามไม่main
สามารถเกิดขึ้นได้ในโปรแกรมที่ถูกต้อง (ขออภัย!) ในขณะที่ Unicode codepoints ของm
และa
คือ109และ97เป็น coprime (โชคดีที่การส่งของคุณไม่จำเป็นต้องเป็นโปรแกรมเต็มรูปแบบ!)
โปรแกรมของคุณไม่ได้รับอนุญาตให้มี codepoint 0
กรณีทดสอบ
Truthy:
[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
Falsy:
[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
นี่คือcode-golf : รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
print 2
ถูกต้อง แต่);=ae
เป็นที่สำคัญเป็นเรื่องที่ยากจริงๆผมไม่ได้พิจารณาว่า ... ฉันสงสัยว่าสิ่งที่ต้องการ Haskell สามารถ แข่งขัน?
%)+/5;=CGIOSYaegkmq\DEL
นี้: