การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

13
เกมเฉพาะของ Conway
โดยเฉพาะคอนเวย์ PRIMEGAME นี่คืออัลกอริทึมที่คิดค้นโดย John H. Conway เพื่อสร้างช่วงเวลาโดยใช้ลำดับหมายเลข 14 จำนวน: A B C D E F G H I J K L M N 17 78 19 23 29 77 95 77 1 11 13 15 15 55 -- -- -- -- -- -- -- -- -- -- -- -- -- …

8
แสดงผลเขาวงกต ASCII
ดู! มันเป็นเขาวงกต ASCII! ซู coolzors, amazeballs และสิ่งของ +-+-----+---+ | | | | | | ++ | | | | ++ +-+ | | | | +-------+ | | | | | +---------+-+ แต่ แต่ ... แต่มันเป็นความเจ็บปวดที่จะคิดออกว่าทิศทางใดที่เขาวงกตกำลังจะไป ฉันแค่ต้องการวาดเลย์เอาต์และเขาวงกตก็ทำให้ตัวเองดูดีขึ้นโดยไม่ต้องเสียเวลา ถ้าฉันวาดมันได้ใน ... ############# # # # # # # ## # # # …

26
ค่าเฉลี่ยการหมุน
รับค่าอินพุตจำนวนเต็มn >= 10ส่งออกค่าเฉลี่ยของการหมุนที่ซ้ำซ้อนทั้งหมดของจำนวนเต็ม ตัวอย่างเช่นสำหรับอินพุต123การหมุนคือ123(ไม่มีการหมุน), 231(หนึ่งการหมุน) และ312(การหมุนสองครั้ง) ค่าเฉลี่ยของผู้ที่เป็นหรือ(123 + 231 + 312) / 3222 เป็นอีกตัวอย่าง4928หนึ่ง หมุนเป็น4928, 9284, และ2849 การเฉลี่ยของผู้ที่ตัวเลขสี่เท่ากับ84926388.25 สำหรับอีกตัวอย่างหนึ่งสำหรับการป้อนข้อมูล445445ที่ผลัดซ้ำมี445445, 454454และเพื่อส่งออกเป็น544544481481 สำหรับการป้อนข้อมูลมีเพียงหนึ่งหมุนซ้ำเพื่อให้ออกเป็น777777 กฎระเบียบ หากเป็นไปได้คุณสามารถสันนิษฐานได้ว่าอินพุต / เอาท์พุตจะพอดีกับภาษาของคุณ Integer อินพุตและเอาต์พุตจะได้รับโดยวิธีการที่สะดวกใด ๆ ยอมรับได้ทั้งโปรแกรมหรือฟังก์ชั่น หากฟังก์ชั่นคุณสามารถส่งคืนผลลัพธ์มากกว่าการพิมพ์ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม นี่คือรหัส - กอล์ฟเพื่อให้ใช้กฎการเล่นกอล์ฟตามปกติทั้งหมดและรหัสที่สั้นที่สุด (เป็นไบต์) ชนะ

4
สร้างควินินแบบครบวงจรครึ่งหนึ่ง
ครึ่งวงกลม quine เป็นพระคาร์ดินัล quine เป็นวงกลมที่มีสองรัฐหนึ่งตั้งฉากกับคนอื่น กฎระเบียบ คุณสามารถตัดสินใจได้ว่าการหมุนแบบใดที่คุณต้องการใช้ตามเข็มนาฬิกาหรือทวนเข็มนาฬิกา เมื่อหมุนแล้วช่องว่างใด ๆ ในรหัสของคุณควรถูกแทนที่ด้วยช่องว่างเพื่อรักษาตำแหน่ง โปรแกรมของคุณจะต้องตอบสนองความหมายของชุมชนควิน นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่สั้นที่สุดในแต่ละภาษาชนะ โปรแกรมแรกของคุณใช้สำหรับการนับจำนวนไบต์ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม ตัวอย่าง หากโปรแกรมของคุณคือ: $_='print';eval จากนั้นการทำซ้ำครั้งต่อไปจะต้องเป็นอย่างใดอย่างหนึ่ง: $ _ = ' p r i n t ' ; e v a l หรือ l a v e ; ' t n i r p ' = _ $ ซึ่งต้องแสดงผลโปรแกรมต้นฉบับ: …

1
กลยุทธ์ Tetris
งานของคุณคือการใช้กลยุทธ์ Tetris ที่สมดุลในแง่ของคะแนนเทียบกับขนาดรหัส ในเกม tetrominoes รุ่นนี้จะหมุนและวางจากด้านบนลงในตาราง 20 แถวและ 10 คอลัมน์ ในขณะที่ตกลงมาพวกเขาจะไม่สามารถหมุนหรือเคลื่อนที่ในแนวนอนได้ ตามปกติชิ้นส่วนที่ถูกปล่อยจะหยุดลงเมื่อถึงด้านล่างของกริดหรือเมื่อการเคลื่อนที่ลงไปอีกจะทำให้เกิดการชนกับสี่เหลี่ยมที่มีอยู่แล้ว เมื่อnเส้นแนวนอนได้รับการเติมเต็มอย่างสมบูรณ์พวกเขาจะยุบพร้อมกันตารางจะถูกเติมเต็มด้วยnเส้นว่างที่ด้านบนและคะแนนจะเพิ่มขึ้น 2 n -1 จุด สำหรับn= 1,2,3,4 นั่นคือ 1,3,7,15 คะแนนตามลำดับ หลังจากเส้นหายไปบางช่วงตึกอาจลอยอยู่ในอากาศ (ไม่มี " ปฏิกิริยาลูกโซ่แรงโน้มถ่วง ") เมื่อไม่มีห้องว่างสำหรับชิ้นส่วนปัจจุบันที่จะปรากฏในตำแหน่งที่ต้องการกริดจะถูกล้างชิ้นส่วนปัจจุบันจะถูกละเว้นและเกมจะดำเนินการต่อโดยชิ้นส่วนถัดไปเป็นปัจจุบัน ไม่มีโทษสำหรับเรื่องนั้น คุณควรอ่านประเภทของชิ้นส่วนและตัดสินใจว่าจะหมุนมันอย่างไรและจะวางที่ไหน มองไปข้างหน้าสำหรับชิ้นส่วนถัดไป (เพียงหนึ่ง) ที่ได้รับอนุญาต: คุณสามารถดูที่ชิ้นi+1ก่อนที่จะตอบiแต่คุณจะต้องได้ตัดสินใจชะตากรรมของก่อนที่จะมองหาที่i i+2ไม่มีการค้นหาล่วงหน้านอกเหนือจากส่วนสุดท้ายของอินพุต ประเภท Tetromino และการหมุนจะถูกเข้ารหัสตามตารางต่อไปนี้: type 0 1 2 3 4 5 6 O I Z J …

21
พีระมิดจำนวนเต็มน้อยไปหามาก
เอาท์พุทข้อความด้านล่างหรือรายการของจำนวนเต็ม (รายละเอียดเพิ่มเติมด้านล่าง) 0 10 1 20 11 2 30 21 12 3 40 31 22 13 4 50 41 32 23 14 5 60 51 42 33 24 15 6 70 61 52 43 34 25 16 7 80 71 62 53 44 35 26 17 8 90 81 72 …
18 code-golf 

14
เล่นกอล์ฟแบบจีน 9 * 9 หลายโต๊ะ
เอาท์พุทตารางต่อไปนี้: 一一得一 一二得二 二二得四 一三得三 二三得六 三三得九 一四得四 二四得八 三四十二 四四十六 一五得五 二五一十 三五十五 四五二十 五五二十五 一六得六 二六十二 三六十八 四六二十四 五六三十 六六三十六 一七得七 二七十四 三七二十一 四七二十八 五七三十五 六七四十二 七七四十九 一八得八 二八十六 三八二十四 四八三十二 五八四十 六八四十八 七八五十六 八八六十四 一九得九 二九十八 三九二十七 四九三十六 五九四十五 六九五十四 七九六十三 八九七十二 九九八十一 หรือคุณสามารถใช้ตัวอักษรสามตัวแรกเป็นคำภาษาอังกฤษในกรณีที่บางภาษาไม่รองรับตัวอักษรจีน: OneOneGetOne OneTwoGetTwo TwoTwoGetFou …

8
จัดเรียงตามบล็อกแบบสับ
บล็อกการเรียงลำดับแบบสุ่ม การเรียงบล็อกแบบสุ่มเป็นวิธีการ (ค่อนข้างจะเป็นการประดิษฐ์) ในการจัดเรียงรายการ มันทำงานได้ดังแสดงในตัวอย่าง [6, 1, 0, 3, 2, 4, -2, -1] Break list into contiguous blocks [6][1, 0][3, 2, 4][-2, -1] Sort each block [6][0, 1][2, 3, 4][-2, -1] Sort blocks lexicographically [-2, -1][0, 1][2, 3, 4][6] Concatenate [-2, -1, 0, 1, 2, 3, 4, 6] สามารถแบ่งพาร์ติชันไปยังบล็อกที่ต่อเนื่องกันได้ อย่างไรก็ตามตัวเลือกทั้งหมดของบล็อกจะไม่ให้รายการเรียงลำดับในตอนท้าย: …

7
Quine ทำรังรัสเซีย
ตุ๊กตาทำรังรัสเซียซึ่งเป็นที่รู้จักกันทั่วไปว่าเป็นตุ๊กตา Matryoshkaเป็นตุ๊กตาที่มีขนาดเล็กกว่าของตัวเองซึ่งมีอีกรุ่นที่เล็กกว่าของตัวเองซึ่งมีรุ่นที่เล็กกว่าของตัวเองซึ่งมีรุ่นที่เล็กกว่าของตัวเองซึ่ง มีเวอร์ชันที่เล็กกว่าของตัวเอง ... - จนกระทั่งในที่สุดอันสุดท้ายจะว่างเปล่า ตัวอย่าง: วันนี้เป้าหมายของคุณคือการเลียนแบบประเพณีของรัสเซียนี้โดยการเขียนโปรแกรมหรือฟังก์ชั่นที่เมื่อมันมีตัวเอง N ครั้งจะพิมพ์ตัวเองที่มีสำเนาของตัวเอง N-1 ครั้ง ตัวอย่างเช่นโปรแกรมตุ๊กตาabcdจะมีโปรแกรมN = 3 abababcdcdcdซึ่งจะพิมพ์โปรแกรม N = 2 ababcdcdซึ่งพิมพ์โปรแกรมต้นฉบับ N = 1 abcdซึ่งในที่สุดก็พิมพ์ N = 0 ซึ่งว่างเปล่า ในทางทฤษฎีแล้วสิ่งนี้ควรใช้งานได้กับค่าที่สมเหตุสมผลของ N กฎ: นี่คือโปรแกรม TIO ที่จะช่วยสร้างโปรแกรมตุ๊กตาขึ้นอยู่กับโปรแกรมของคุณ ใช้กฎมาตรฐาน Quine มีช่องโหว่มาตรฐาน 'มี' หมายถึงตรงกลางของรุ่นก่อนหน้าดังนั้นโซลูชันของคุณจะต้องมีจำนวนไบต์เป็นบวก โปรแกรมที่มีความยาว 10 จะมีสำเนาของต้นฉบับที่แทรกหลังจากไบต์ที่ห้าจากนั้นอีกหนึ่งโปรแกรมหลังจากไบต์ที่สิบเป็นต้น อนุญาตให้มีช่องว่างต่อท้ายเดียวในเอาต์พุต เนื่องจากนี่คือรหัสกอล์ฟเป้าหมายของคุณคือทำให้โปรแกรม N = 1 ของคุณสั้นที่สุดเท่าที่จะเป็นไปได้ คำอธิบายของรหัสของคุณจะได้รับการชื่นชม

30
เติมบับเบิ้ลชีทของฉัน
วันนี้เป็นวันลงทะเบียนสอบ APที่โรงเรียนของฉันและในขณะที่ฉันกำลังเดือดปุด ๆ อย่างพิถีพิถันในหน้าและหน้าของข้อมูลที่จำเป็นแนวคิดสำหรับความท้าทายนี้ทำให้ฉัน ดังนั้นด้วยสตริงตัวอักษรและตัวเลขให้แสดงแผนภูมิฟองที่เติมออกมาอย่างเหมาะสม กฎ: สำหรับอักขระแต่ละตัวในสตริงอินพุตให้แทนที่อักขระนั้นในคอลัมน์ที่สอดคล้องกันด้วย#หรือ@หรือสัญลักษณ์อื่นที่เหมาะสม (หากภาษาของคุณสามารถจัดการกับมันได้อักขระ Unicode 'full_block': █ดูดีจริงๆ) ช่องว่างจะถูกแทนด้วยคอลัมน์ว่าง (ดูตัวอย่าง) อินพุตที่ถูกต้องจะเป็นสตริงที่ประกอบด้วยตัวอักษรตัวพิมพ์ใหญ่ตัวเลขและช่องว่าง ข้อมูลที่ป้อนจะมีความยาวอย่างน้อย 1 ตัวและสูงสุด 32 อักขระ เอาท์พุทจะต้องเป็นตัวพิมพ์ใหญ่ หากความยาวอินพุตน้อยกว่าความยาวสูงสุด 32 โปรแกรมของคุณจะต้องส่งออกคอลัมน์ว่างที่เหลือ โปรแกรมของคุณไม่จำเป็นต้องจัดการกับตัวพิมพ์เล็กเช่นเดียวกับตัวพิมพ์ใหญ่ แต่จะให้คะแนนโบนัสถ้าทำได้ รูปแบบคณะกรรมการ: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX …

9
เติม Bracks
วงเล็บปกติ ( (), [], <>และ{}) ที่ดีและชัดเจน แต่ใครบางคนคิดว่ามันจะเป็นความคิดที่ดีที่จะใช้ตัวอักษรวงเล็บไม่ใช่เป็นวงเล็บ อักขระเหล่านี้|และ"มีความคลุมเครือ ตัวอย่างเช่น """" สอดคล้องกับ (()) หรือ ()() มันเป็นไปไม่ได้ที่จะบอก สิ่งต่าง ๆ เริ่มน่าสนใจเมื่อคุณผสมวงเล็บประเภทที่ไม่ชัดเจนเช่น "|""||""|" อาจเป็นอย่างใดอย่างหนึ่งต่อไปนี้ ([(([]))]),([()[]()]),([()][()]) งาน งานของคุณคือการใช้สตริงที่ทำจากอักขระที่ไม่ชัดเจนและส่งออกสตริงสมดุลที่เป็นไปได้ทั้งหมดที่ผู้เขียนตั้งใจไว้ เพิ่มเติมรูปธรรมผลผลิตสตริงสมดุลทั้งหมดที่สามารถทำแทนที่|ด้วย[หรือ]และ"ด้วยหรือ( )คุณไม่ควรส่งออกสตริงที่สมดุลใด ๆ สองครั้ง IO เป็นข้อมูลที่คุณควรจะสตริงประกอบด้วยและ| "หากคุณต้องการเลือกอักขระที่แตกต่างกันสองตัวนอกเหนือจาก|และ"เพื่อใช้เป็นตัวแทนที่คุณสามารถทำได้ คุณควรส่งออกคอนเทนเนอร์ของสตริงที่สมดุล คุณอาจเลือกที่จะเปลี่ยน[]และ()ในการส่งออกกับคนอื่น ๆ สองคู่วงเล็บใด ๆ ( (), [], <>หรือ{}) ที่คุณต้องการ รูปแบบผลลัพธ์ของคุณควรสอดคล้องกันระหว่างการดำเนินการ เกณฑ์การให้คะแนน นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์ที่น้อยกว่าจะดีกว่า กรณีทดสอบ "" -> ["()"] "|"| -> [] …

10
เรียงลำดับรายการเป็นเมทริกซ์น้อยที่สุด
รับรายการที่ไม่เรียงลำดับของจำนวนเต็มบวกที่ไม่ซ้ำกันอย่างเคร่งครัดโดยเรียงลำดับลงในเมทริกซ์ 2D รายการป้อนข้อมูลที่รับประกันได้ว่าจะมีความยาวคอมโพสิตซึ่งหมายความว่าเมทริกซ์ที่ส่งออกไม่จำเป็นต้องเป็นตาราง แต่มีขนาดที่มีn x mn,m > 1 "Minimally sort" ที่นี่หมายถึงสิ่งต่อไปนี้: เรียงลำดับรายการตามลำดับจากน้อยไปหามาก กระชับเมทริกซ์เอาต์พุตให้มากที่สุด - ลดผลรวมของมิติของเมทริกซ์ (ตัวอย่างเช่นสำหรับ20องค์ประกอบอินพุตเช่นอินพุตต้องใช้เมทริกซ์เอาท์พุท5x4หรือ4x5เมทริกซ์และไม่ใช่ก2x10) กระชับจำนวนที่เรียงแล้วไปทางซ้ายบนของเมทริกซ์ให้มากที่สุดเริ่มต้นด้วยองค์ประกอบแรกในรายการที่เรียงลำดับ นี่อาจเป็นวิธีการเรียงลำดับรายการจากนั้นก็แบ่งมันตามแนวต้านของเส้นทแยงมุมเริ่มจากด้านซ้ายบน ตัวอย่าง: สำหรับอินพุต1..20เอาต์พุตเป็นเมทริกซ์ 5x4 หรือ 4x5 ดังนี้: 1 2 4 7 11 3 5 8 12 15 6 9 13 16 18 10 14 17 19 20 1 2 4 7 3 5 …

2
ใช้อัลกอริทึม Boids
บทนำ boids ขั้นตอนวิธีการคือการสาธิตค่อนข้างง่ายของพฤติกรรมฉุกเฉินในกลุ่ม มันมีกฎหลักสามข้อตามที่อธิบายโดยผู้สร้าง Craig Reynolds: แบบจำลอง flocking ขั้นพื้นฐานประกอบด้วยพฤติกรรมการบังคับเลี้ยวแบบง่าย ๆ สามแบบซึ่งอธิบายถึงวิธีการซ้อมรบของแต่ละบุคคลโดยพิจารณาจากตำแหน่งและความเร็วของฝูงสัตว์ใกล้เคียง: การแยก : คัดท้ายเพื่อหลีกเลี่ยงการรวมฝูงเพื่อนในชุมชน การจัดตำแหน่ง : คัดท้ายไปยังส่วนหัวเฉลี่ยของฝูงแกะในท้องถิ่น การติดต่อกัน : คัดท้ายเพื่อย้ายไปยังตำแหน่งเฉลี่ยของฝูงเพื่อนในท้องถิ่น แต่ละ boid มีการเข้าถึงโดยตรงกับคำอธิบายทางเรขาคณิตของฉากทั้งหมด แต่ flocking ต้องการให้มันตอบสนองต่อ flockmates ภายในละแวกเล็ก ๆ ที่อยู่รอบตัวเท่านั้น ละแวกใกล้เคียงมีลักษณะระยะทาง (วัดจากศูนย์กลางของ boid) และมุมวัดจากทิศทางการบินของ boid Flockmates ที่อยู่นอกพื้นที่ใกล้เคียงในพื้นที่จะถูกเพิกเฉย บริเวณใกล้เคียงอาจพิจารณารูปแบบของการรับรู้ที่ จำกัด (เช่นปลาในน้ำขุ่น) แต่มันอาจจะถูกต้องมากกว่าที่จะคิดว่ามันเป็นตัวกำหนดภูมิภาคซึ่งฝูงแกะที่มีอิทธิพลต่อการบังคับ boids ผมไม่ได้สมบูรณ์แบบเมื่ออธิบายสิ่งดังนั้นฉันขอแนะนำให้ตรวจสอบจากแหล่งที่มา เขายังมีรูปภาพที่ให้ข้อมูลบางอย่างในเว็บไซต์ของเขา ท้าทาย กำหนดจำนวน boids (เอนทิตีจำลอง) และจำนวนเฟรมส่งออกแอนิเมชั่นของการจำลอง boids …

2
สับกี่เท่า
Riffle shuffle คือ shuffle แบบหนึ่งที่แบ่งเด็คออกเป็นสองพาร์ติชั่นและพาร์ติชั่นจะรวมกันเพื่อสร้างเด็คสับแบบใหม่ บัตรจะได้แต่งงานกันในลักษณะดังกล่าวว่าบัตรรักษาลำดับญาติของพวกเขาภายในพาร์ทิชันที่พวกเขาเป็นสมาชิกของ ตัวอย่างเช่นหากการ์ดAอยู่ก่อนการ์ดBในสำรับและการ์ดAและBอยู่ในพาร์ทิชันเดียวกันการ์ดAต้องอยู่ก่อนการ์ดBในผลลัพธ์สุดท้ายแม้ว่าจำนวนการ์ดระหว่างการ์ดจะเพิ่มขึ้น หากAและBอยู่ในพาร์ติชั่นต่างกันพวกเขาสามารถอยู่ในลำดับใดก็ได้โดยไม่คำนึงถึงลำดับเริ่มต้นในผลลัพธ์สุดท้าย การสลับแบบสุ่มแต่ละอันนั้นสามารถถูกมองว่าเป็นการเปลี่ยนแปลงไพ่สำรับดั้งเดิม ตัวอย่างเช่นการเปลี่ยนแปลง 1,2,3 -> 1,3,2 เป็นการสลับแบบ riffle ถ้าคุณแยกดาดฟ้าเช่นนั้น 1, 2 | 3 เราเห็นว่าการ์ดทุกใบใน1,3,2นั้นมีลำดับที่เหมือนกันกับการ์ดอื่น ๆ ในพาร์ติชั่น ยังคงเป็นหลังจากที่21 ในทางกลับกันการเรียงสับเปลี่ยนต่อไปนี้ไม่ใช่การสลับแบบ riffle 1,2,3 -> 3,2,1 เราสามารถเห็นสิ่งนี้ได้เพราะพาร์ติชั่นทั้งสอง (ไม่สำคัญ) 1, 2 | 3 1 | 2, 3 มีคู่ของการ์ดที่ไม่รักษาลำดับญาติของพวกเขา ในพาร์ติชันแรก1และ2เปลี่ยนลำดับของพวกเขาในขณะที่พาร์ติชันที่สอง2และ3เปลี่ยนลำดับของพวกเขา อย่างไรก็ตามเราจะเห็นว่า3, 2, 1สามารถทำได้โดยการเขียนสอง riffle shuffles 1, 3, 2 + …

2
ส่งออกลำดับ Goodstein
(นี่อาจจะค่อนข้างคลาสสิก แต่นี่เป็นโพสต์แรกของฉันที่นี่ดังนั้นฉันยังไม่พร้อมสำหรับสิ่งแฟนซียัง) ลำดับ Goodsteinมีการกำหนดจำนวนการป้อนข้อมูลดังต่อไปนี้: เลือกหมายเลขเริ่มต้นn , ให้b = 2 และทำซ้ำ: เขียนnในสัญกรณ์ทางพันธุกรรมฐานข แทนที่ทั้งหมด ( b ) s เป็น ( b +1) s ในnและ substract 1 ส่งออกการประเมินผลทศนิยมใหม่ของn เพิ่มข สัญกรณ์ฐานทางพันธุกรรมคือการสลายตัวของจำนวนที่พื้นฐานเป็นจำนวนที่มากขึ้นที่จะปรากฏ ตัวอย่าง: 83 ใน HB3: 3^(3+1)+2 226 ใน HB2: 2^(2^(2+1))+2^(2+1)+2 ลำดับ Goodstein สิ้นสุดที่ 0เสมอ แต่พวกเขามักจะมีขนาดค่อนข้างใหญ่เร็วมากดังนั้นจึงไม่ขอให้แสดงลำดับที่สมบูรณ์ งาน: ให้หมายเลขอินพุตในรูปแบบที่สมเหตุสมผลงานของคุณคือส่งออกลำดับ Goodstein สำหรับหมายเลขนี้อย่างน้อยก็จนกว่าจะถึง 10 ^ 25 หรือ 0 …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.