การป้อนข้อมูล:
เป็นจำนวนเต็มบวกnซึ่งประกอบด้วยตัวเลขในช่วง0-9
ท้าทาย:
ถ้าdเป็นหลักที่สูงที่สุดในจำนวนเต็มสมมติฐานของตัวเลขคือ1 + d เช่นถ้าจำนวนเต็ม1256คุณจะถือว่ามันอยู่ในbase-7ถ้ามันคือ10110คุณก็จะสมมุติว่ามันคือbase-2 (ไบนารี) และถ้ามันเป็น159ก็จะเป็นทศนิยม
ทีนี้ทำสิ่งต่อไปนี้จนกว่าคุณจะ 1: ถึงจำนวนเต็ม10 ฐานหรือ 2: ถึงจำนวนเต็มหลักเดียว
- แปลงจำนวนเต็มจากbase- (d + 1)เป็นbase-10
- ค้นหาฐานของจำนวนเต็มใหม่นี้ (อีกครั้งฐาน - (d + 1)โดยที่dคือตัวเลขสูงสุดในจำนวนใหม่)
- ไปยังขั้นตอนที่ 1
ตัวอย่าง:
สมมติใส่เป็นn = 413574 ตัวเลขสูงสุดd = 7ดังนั้นนี่คือเบส -8 (ฐานแปด) แปลงนี้เพื่อทศนิยมและได้รับ137,084 หลักสูงสุดd = 8ดังนั้นนี้เป็นฐาน-9 แปลงนี้เพื่อทศนิยมและได้รับ83,911 ตัวเลขสูงสุดคือ9ดังนั้นนี่คือตัวเลขทศนิยมและเราหยุด การส่งออกจะเป็น83,911
สมมติใส่เป็นn = 13552 หลักสูงสุดคือd = 5ดังนั้นนี้เป็นฐาน-6 แปลงนี้เพื่อทศนิยมและได้รับ2156 หลักสูงสุดd = 6ดังนั้นนี้เป็นฐาน-7 แปลงนี้เพื่อทศนิยมและได้รับ776 หลักสูงสุดคือd = 7ดังนั้นนี้เป็นฐาน-8 แปลงนี้เพื่อทศนิยมและได้รับ510 หลักสูงสุดคือd = 5ดังนั้นนี้เป็นฐาน-6 แปลงนี้เพื่อทศนิยมและได้รับ186 หลักที่สูงที่สุดคือ8ดังนั้นนี้เป็นฐาน-9 แปลงเป็นทศนิยมและรับ159. ตัวเลขสูงสุดคือ9ดังนั้นนี่คือตัวเลขทศนิยมและเราหยุด การส่งออกจะเป็น159
สมมติใส่เป็นn = 17 นี้จะช่วยให้เรา15แล้ว11แล้ว3ซึ่งเราจะออกเนื่องจากเป็นตัวเลขหลักเดียว
กรณีทดสอบ:
5
5
17
3
999
999
87654321 (base-9 -> 42374116 in decimal -> base-7 -> 90419978 in decimal)
9041998
41253 (5505 -> 1265 -> 488 -> 404 -> 104 -> 29)
29
หมายเหตุ:
- กฎมาตรฐานเกี่ยวกับ I / O ช่องโหว่ ฯลฯ คุณสามารถรับอินพุตเป็นสตริงได้
- คำอธิบายได้รับการสนับสนุน
- คุณสามารถใช้คำสั่งการแปลงฐานในตัว
- โซลูชั่นที่ไม่ใช้ฟังก์ชั่นการแปลงฐานในภาษา (ถ้ามี) ยินดีต้อนรับแม้ว่าจะจบลงนานกว่าวิธีที่ชัดเจนโดยใช้ฟังก์ชัน builtin
เห็นได้ชัดว่านี่คือOEIS A091047