จากคณิตศาสตร์ทั้งหมดจะมีทฤษฎีไม่กี่ข้อที่เกินกว่าสามัญสำนึกทั้งหมด หนึ่งในนั้นคือความจริงที่ว่ามีขนาดแตกต่างกันไป อีกข้อเท็จจริงที่น่าสนใจคือความคิดที่ว่าอินฟินิตี้จำนวนมากซึ่งดูเหมือนจะมีขนาดแตกต่างกันนั้นมีขนาดเท่ากัน มีจำนวนเท่าจำนวนเต็มเป็นจำนวนเต็มเนื่องจากมีจำนวนตรรกยะ
แนวคิดทั่วไปของคำถามนี้คือการเผชิญหน้ากับความเป็นจริงที่แปลกประหลาดของอินฟินิตี้ ในการท้าทายนี้โปรแกรมของคุณจะแสดงรายการซึ่งจะ:
- ในช่วงเวลาใดเวลาหนึ่งมีจำนวนรายการทั้งหมดเสมอ
- ในที่สุดก็มี (หากปล่อยทิ้งไว้ให้ทำงานนานพอ) จำนวนตรรกยะเฉพาะ (ไม่เป็นศูนย์) ใด ๆ ที่แม่นยำหนึ่งครั้งในรายการทั้งหมด
- มีจำนวนช่องว่างที่ไม่มีขอบเขต (รายการในรายการที่ถูกตั้งค่าเป็น 0 โดยไม่จำเป็น)
- มีสัดส่วนของช่องว่างที่เข้าใกล้ขีด จำกัด 100%
- สำหรับเลขจำนวนเต็มบวก N ทุกตัวให้มีสถานที่จำนวนอนันต์พร้อมช่องว่าง N ที่ต่อเนื่องกัน
ความท้าทาย
ความท้าทายของคุณคือการเขียนโปรแกรมที่สั้นที่สุดที่จะส่งออกรายการพิเศษด้วยกฎต่อไปนี้:
- รายการทั้งหมดที่มีดัชนีซึ่งไม่ใช่ตัวเลขจตุรัสควรถูกตั้งค่าเป็นศูนย์ ดังนั้นรายการแรกจะไม่ใช่ศูนย์ที่สองและสามจะเป็นศูนย์ส่วนที่สี่จะไม่ใช่ศูนย์ ฯลฯ
- ตัวเลขที่มีเหตุผลทั้งหมดจะอยู่ในรูปของเศษส่วนที่ไม่เหมาะสม (เช่น 4/5 หรือ 144/13) ที่ได้รับการทำให้เข้าใจง่าย
0
ยกเว้นเป็นศูนย์ซึ่งจะเป็นเพียงแค่ - ตัวเลขเหตุผล (บวกและลบ) ทั้งหมดควรปรากฏในรายการในที่สุดหากโปรแกรมของคุณทำงานนานพอและมีหน่วยความจำเพียงพอ สำหรับจำนวนตรรกยะโดยเฉพาะเวลาที่ต้องใช้อาจมีขนาดใหญ่โดยพลการ แต่จะ จำกัด เวลาเสมอ
- ถ้าวิ่งตามเวลาที่ไม่ จำกัด จำนวนไม่ควรมีจำนวนตรรกยะที่ไม่เป็นศูนย์สองเท่า
กฎข้อที่ 3 อนุญาตให้มีการเปลี่ยนแปลงบางอย่างเนื่องจากมีจำนวนไม่ จำกัด ทางกฎหมายที่เป็นไปได้ที่แตกต่างกัน
เอาต์พุตจะเป็นสตรีมของเส้น แต่ละบรรทัดจะเป็นรูปแบบทั่วไปโดย5: 2/3
ที่หมายเลขแรกคือหมายเลขรายการจากนั้นตามด้วยจำนวนตรรกยะ โปรดทราบว่า1: 0
จะเป็นบรรทัดแรกของเอาต์พุต
ตัวอย่างตัวอย่างของการส่งออก:
1: 1/1
2: 0
3: 0
4: 2/1
5: 0
6: 0
7: 0
8: 0
9: -2/1
10: 0
etc...
กฎระเบียบและบันทึก
นี่คือรหัสกอล์ฟ บังคับใช้กฎกอล์ฟมาตรฐาน นอกจากนี้เนื่องจากรูปแบบที่ได้รับอนุญาตในผลลัพธ์คุณต้องแสดงอย่างน้อยเหตุผลที่คุณเชื่อว่ารายการของคุณจะมีจำนวนตรรกยะที่เป็นไปได้ทั้งหมดเพียงครั้งเดียวและวิธีการแก้ปัญหาของคุณถูกต้อง
แก้ไข: เนื่องจากตัวเลขเฉพาะไม่หันเหความสนใจจากความท้าทายฉันจึงเปลี่ยนมันเป็นตัวเลขกำลังสอง สิ่งนี้บรรลุวัตถุประสงค์เดียวกันและทำให้การแก้ปัญหาสั้นลง
1: 0
จะเป็นบรรทัดแรกของเอาต์พุต - สิ่งนี้ขัดกับตัวอย่างของคุณและก็ไม่สมเหตุสมผลสำหรับฉัน