นับถอยหลัง
เป้าหมายของคุณสำหรับการแข่งขันกอล์ฟรหัสคือการนับถอยหลังและรีไซเคิลหมายเลข ให้ฉันอธิบาย
ก่อนอื่นแอปพลิเคชันของคุณจะอ่านตัวเลขไม่ว่าจะเป็นอาร์กิวเมนต์ของโปรแกรมหรือการใช้ stdin ต่อไปคุณจะต้องนับถอยหลังเช่นนี้:
10 9 8 7 6
( ตามลำดับจากมากไปน้อย )
แต่เดี๋ยวก่อนมีอีกมาก!
รีไซเคิล
มีสถานการณ์ที่เราสามารถพิมพ์ได้ทุกหมายเลข แต่ไม่แสดงรายการทุกหมายเลขเราสามารถรีไซเคิลได้! ขอยกตัวอย่างง่ายๆ:
Input: 110
Output: 11091081071061051041031021010099... etc
Recycled: 10 1
เราได้ในขณะนี้ยังคงแสดงตัวเลขทั้งหมด, 110, 109, 108, แต่เราได้รีไซเคิล0และ1
ตัวอย่างอื่น:
Input: 9900
Output: 9900989989897989698959894... etc
Recycled: 9 98
ความท้าทายของรหัส - กอล์ฟ
- อ่านตัวเลข (อาร์กิวเมนต์หรือ stdin)
- การส่งออกนับถอยหลังในลงมาเพื่อการรีไซเคิลในขณะที่ทุกตัวเลขที่เป็นไปได้ (ที่ stdout หรือแฟ้ม)
- หยุดเมื่อคุณไปถึง 1 หรือช่วงเวลาที่คุณรีไซเคิล 0 ถึง 9 (ไม่ว่าจะเกิดอะไรขึ้นก่อน)
ตัวอย่างง่ายๆ (จนถึง 1 ถึง):
Input: 15
Output: 15141312110987654321
(Notice the 110 instead of 1110)
ตัวอย่างขั้นสูงเพิ่มเติม (รีไซเคิลทั้งหมด):
Input: 110
Output: 110910810710610510410310210100998979695949392919089887868584838281807978776757473727170696867665646362616059585756554535251504948474645443424140393837363534332313029282726252423221
Recycled: 10 9 8 7 6 5 4 3 2
(We've recycled all 0-9)