บทนำ
งานของคุณคือการสร้างคำศัพท์ 1,000 คำแรกในการแสดงเศษส่วนต่อเนื่องของผลรวมหลักที่สองของรากที่สองของ 2 และรากที่สองของ 3
กล่าวอีกนัยหนึ่งให้ผลิตรายการต่อไปนี้อย่างแน่นอน (แต่รูปแบบผลลัพธ์มีความยืดหยุ่น)
[2, 6, 1, 5, 7, 2, 4, 4, 1, 11, 68, 17, 1, 19, 5, 6, 1, 5, 3, 2, 1, 2, 3, 21, 1, 2, 1, 2, 2, 9, 8, 1, 1, 1, 1, 6, 2, 1, 4, 1, 1, 2, 3, 7, 1, 4, 1, 7, 1, 1, 4, 22, 1, 1, 3, 1, 2, 1, 1, 1, 7, 2, 7, 2, 1, 3, 14, 1, 4, 1, 1, 1, 15, 1, 91, 3, 1, 1, 1, 8, 6, 1, 1, 1, 1, 3, 1, 2, 58, 1, 8, 1, 5, 2, 5, 2, 1, 1, 7, 2, 3, 3, 22, 5, 3, 3, 1, 9, 1, 2, 2, 1, 7, 5, 2, 3, 10, 2, 3, 3, 4, 94, 211, 3, 2, 173, 2, 1, 2, 1, 14, 4, 1, 11, 6, 1, 4, 1, 1, 62330, 1, 17, 1, 5, 2, 5, 5, 1, 9, 3, 1, 2, 1, 5, 1, 1, 1, 11, 8, 5, 12, 3, 2, 1, 8, 6, 1, 3, 1, 3, 1, 2, 1, 78, 1, 3, 2, 442, 1, 7, 3, 1, 2, 3, 1, 3, 2, 9, 1, 6, 1, 2, 2, 2, 5, 2, 1, 1, 1, 6, 2, 3, 3, 2, 2, 5, 2, 2, 1, 2, 1, 1, 9, 4, 4, 1, 3, 1, 1, 1, 1, 5, 1, 1, 4, 12, 1, 1, 1, 4, 2, 15, 1, 2, 1, 3, 2, 2, 3, 2, 1, 1, 13, 11, 1, 23, 1, 1, 1, 13, 4, 1, 11, 1, 1, 2, 3, 14, 1, 774, 1, 3, 1, 1, 1, 1, 1, 2, 1, 3, 2, 1, 1, 1, 8, 1, 3, 10, 2, 7, 2, 2, 1, 1, 1, 2, 2, 1, 11, 1, 2, 5, 1, 4, 1, 4, 1, 16, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 8, 1, 2, 1, 1, 22, 3, 1, 8, 1, 1, 1, 1, 1, 9, 1, 1, 4, 1, 2, 1, 2, 3, 5, 1, 3, 1, 77, 1, 7, 1, 1, 1, 1, 2, 1, 1, 27, 16, 2, 1, 10, 1, 1, 5, 1, 6, 2, 1, 4, 14, 33, 1, 2, 1, 1, 1, 2, 1, 1, 1, 29, 2, 5, 3, 7, 1, 471, 1, 50, 5, 3, 1, 1, 3, 1, 3, 36, 15, 1, 29, 2, 1, 2, 9, 5, 1, 2, 1, 1, 1, 1, 2, 15, 1, 22, 1, 1, 2, 7, 1, 5, 9, 3, 1, 3, 2, 2, 1, 8, 3, 1, 2, 4, 1, 2, 6, 1, 6, 1, 1, 1, 1, 1, 5, 7, 64, 2, 1, 1, 1, 1, 120, 1, 4, 2, 7, 3, 5, 1, 1, 7, 1, 3, 2, 3, 13, 2, 2, 2, 1, 43, 2, 3, 3, 1, 2, 4, 14, 2, 2, 1, 22, 4, 2, 12, 1, 9, 2, 6, 10, 4, 9, 1, 2, 6, 1, 1, 1, 14, 1, 22, 1, 2, 1, 1, 1, 1, 118, 1, 16, 1, 1, 14, 2, 24, 1, 1, 2, 11, 1, 6, 2, 1, 2, 1, 1, 3, 6, 1, 2, 2, 7, 1, 12, 71, 3, 2, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 3, 5, 5, 1, 1, 1, 1, 4, 1, 1, 1, 3, 1, 4, 2, 19, 1, 16, 2, 15, 1, 1, 3, 2, 3, 2, 4, 1, 3, 1, 1, 7, 1, 2, 2, 117, 2, 2, 8, 2, 1, 5, 1, 3, 12, 1, 10, 1, 4, 1, 1, 2, 1, 5, 2, 33, 1, 1, 1, 1, 1, 18, 1, 1, 1, 4, 236, 1, 11, 4, 1, 1, 11, 13, 1, 1, 5, 1, 3, 2, 2, 3, 3, 7, 1, 2, 8, 5, 14, 1, 1, 2, 6, 7, 1, 1, 6, 14, 22, 8, 38, 4, 6, 1, 1, 1, 1, 7, 1, 1, 20, 2, 28, 4, 1, 1, 4, 2, 2, 1, 1, 2, 3, 1, 13, 1, 2, 5, 1, 4, 1, 3, 1, 1, 2, 408, 1, 29, 1, 6, 67, 1, 6, 251, 1, 2, 1, 1, 1, 8, 13, 1, 1, 1, 15, 1, 16, 23, 12, 1, 3, 5, 20, 16, 4, 2, 1, 8, 1, 2, 2, 6, 1, 2, 4, 1, 9, 1, 7, 1, 1, 1, 64, 10, 1, 1, 2, 1, 8, 2, 1, 5, 4, 2, 5, 6, 7, 1, 2, 1, 2, 2, 1, 4, 11, 1, 1, 4, 1, 714, 6, 3, 10, 2, 1, 6, 36, 1, 1, 1, 1, 10, 2, 1, 1, 1, 3, 2, 1, 6, 1, 8, 1, 1, 1, 1, 1, 1, 1, 2, 40, 1, 1, 1, 5, 1, 3, 24, 2, 1, 6, 2, 1, 1, 1, 7, 5, 2, 1, 2, 1, 6, 1, 1, 9, 1, 2, 7, 6, 2, 1, 1, 1, 2, 1, 12, 1, 20, 7, 3, 1, 10, 1, 8, 1, 3, 1, 1, 1, 1, 2, 1, 1, 6, 1, 2, 1, 5, 1, 1, 1, 5, 12, 1, 2, 1, 2, 1, 2, 1, 1, 3, 1, 1, 1, 8, 2, 4, 1, 3, 1, 1, 1, 2, 1, 11, 3, 2, 1, 7, 18, 1, 1, 17, 1, 1, 7, 4, 6, 2, 5, 6, 4, 4, 2, 1, 6, 20, 1, 45, 5, 6, 1, 1, 3, 2, 3, 3, 19, 1, 1, 1, 1, 1, 1, 34, 1, 1, 3, 2, 1, 1, 1, 1, 1, 4, 1, 2, 1, 312, 2, 1, 1, 1, 3, 6, 6, 1, 2, 25, 14, 281, 4, 1, 37, 582, 3, 20, 2, 1, 1, 1, 2, 1, 3, 7, 8, 4, 1, 11, 2, 3, 183, 2, 23, 8, 72, 2, 2, 3, 8, 7, 1, 4, 1, 4, 1, 2, 2, 1, 2, 1, 8, 2, 4, 1, 2, 1, 2, 1, 1, 2, 1, 1, 10, 2, 1, 1, 5, 2, 1, 1, 1, 2, 1, 1, 2, 1, 3, 2, 9]
ท้าทาย
แนะนำทั่วไปต่อไปนี้เพื่อเศษส่วนต่อเนื่องมาจากความท้าทายลดความซับซ้อนเศษส่วนต่อเนื่อง
เศษส่วนต่อเนื่องเป็นนิพจน์ที่อธิบายเศษส่วนซ้ำ ๆ พวกเขาสามารถแสดงกราฟิก:
หรือพวกเขาสามารถแสดงเป็นรายการของค่า:
[a0, a1, a2, a3, ... an]
ความท้าทายนี้คือการหาเศษส่วนต่อเนื่องของผลรวมหลักที่ชาญฉลาดของsqrt(2)
และผลรวมsqrt(3)
ตัวเลขที่ชาญฉลาดถูกกำหนดดังนี้
ใช้ตัวเลขในการแทนทศนิยมของsqrt(2)
และsqrt(3)
และได้รับผลรวมหลักโดยตัวเลข:
1. 4 1 4 2 1 3 5 6 2 3 ...
+ 1. 7 3 2 0 5 0 8 0 7 5 ...
= 2. 11 4 6 2 6 3 13 6 9 8 ...
จากนั้นเก็บเฉพาะตัวเลขสุดท้ายของผลรวมและรวบรวมกลับเป็นตัวเลขทศนิยมของจำนวนจริง
1. 4 1 4 2 1 3 5 6 2 3 ...
+ 1. 7 3 2 0 5 0 8 0 7 5 ...
= 2. 11 4 6 2 6 3 13 6 9 8 ...
-> 2. 1 4 6 2 6 3 3 6 9 8 ...
ผลรวมหลักที่ชาญฉลาดของsqrt(2)
และsqrt(3)
เป็นดังนั้น2.1462633698...
และเมื่อมันแสดงด้วยเศษส่วนต่อเนื่อง 1,000 ค่าแรก (เช่นถึง) ที่ได้รับคือรายการที่อยู่ในส่วนบทนำa0
a999
รายละเอียด
คุณสามารถเขียนฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบ ไม่ควรรับอินพุต กล่าวอีกนัยหนึ่งฟังก์ชันหรือโปรแกรมควรทำงานอย่างถูกต้องโดยไม่มีอินพุต ไม่สำคัญว่าฟังก์ชั่นหรือโปรแกรมจะทำอะไรถ้ามีการป้อนข้อมูลที่ไม่ว่างเปล่า
คุณควรส่งออกไปยัง STDOUT เฉพาะในกรณีที่ภาษาของคุณไม่สนับสนุนการแสดงผลไปยัง STDOUT หากคุณใช้ภาษาที่ใกล้เคียงที่สุด
คุณไม่จำเป็นต้องรักษาความสะอาดของ STDERR และอนุญาตให้โปรแกรมหยุดทำงานโดยมีข้อผิดพลาดตราบใดที่เอาต์พุตที่ต้องการทำใน STDOUT หรือเทียบเท่า
คุณสามารถให้ออกผ่านรูปแบบมาตรฐานใด ๆ
นี่คือรหัส - กอล์ฟจำนวนไบต์ต่ำสุดชนะ
ตามปกติช่องโหว่เริ่มต้นจะมีผลที่นี่
×⁺Ñ
ใช้งานไม่ได้×Ѳ$
อีกทางเลือกหนึ่ง