เหมืองเกลือโปแลนด์ที่เก่าแก่ที่สุดซึ่งตั้งอยู่ที่ Bochnia * เริ่มต้นในปี 1248 ซึ่งเราสามารถพิจารณาตัวเลขมหัศจรรย์ได้ เราจะเห็นว่ามันเป็นเท่ากับ 4 หลักจากลำดับของ exponentiations นี้:
เนื่องจากวันที่นั้นเป็นตัวเลข 4 หลักจริง ๆ เราสามารถทำให้มันยาวขึ้นได้ เราสามารถทำซ้ำขั้นตอนนี้ได้จนกว่าจะถึงระยะอนันต์ ลำดับจะเป็นแบบนี้ถ้าเรา จำกัด จำนวน2048
124816326412825651210242048
เพื่อให้ดูดีขึ้นเล็กน้อยเราสามารถแยกตัวเลข:
1|2|4|8|16|32|64|128|256|512|1024|2048
ลองลำดับที่กำหนดเองยาวกว่าวันที่ สมมติว่าเราต้องการให้มี 5 หลัก - มีความเป็นไปได้มากกว่าหนึ่ง:
24816
81632
64128
หรือ 3 หลัก:
124
248
816
นอกจากนี้เรายังสามารถเพิ่มตัวเลข 3 หลักนี้ แต่ขอบอกว่าของที่ลำดับที่จะต้องมีอย่างน้อยสองหมายเลข
* ไม่มีข้อมูลเกี่ยวกับเรื่องนี้ในวิกิพีเดียภาษาอังกฤษ หากคุณป้อนรุ่นโปแลนด์ - แล้วมี ถ้าคุณไปที่เหมืองคนงานจะบอกคุณด้วยว่ามันเริ่มต้นในปี 1248
ความท้าทาย
สร้างลำดับการยกกำลังเหมือนในตัวอย่างด้านบนโดยมี 2 เป็นฐาน
กำหนดตัวเลขตั้งแต่ 2-27 ส่งออกส่วนที่เป็นไปได้ทั้งหมดของลำดับ (2048 หนึ่งหรือใหญ่กว่าถ้าคุณต้องการ) ด้วยจำนวนหลักเท่ากับอินพุต คุณไม่สามารถตัดตัวเลขได้ดังนั้นเอาต์พุตเช่น481
นั้นไม่ถูกต้องเนื่องจาก 16 ตัดครึ่ง
กฎ:
- ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
- คุณสามารถสมมติว่าการป้อนข้อมูลเป็นตัวเลขที่อยู่ในช่วง
- โปรแกรมของคุณสามารถรับอินพุตที่มีขนาดใหญ่กว่าช่วง (28+) ได้ แต่จะไม่เพิ่ม / ลดคะแนน
- ช่องว่างในเอาต์พุตจะถูกละเว้น คุณสามารถส่งออกเหมือนหรือชอบ
124
4 8 16
- ความเป็นไปได้ที่แตกต่างกันควรถูกคั่นด้วยอักขระใด ๆ จากรายการ:
,./|
หรือตัวดึงข้อมูลบรรทัด - คุณสามารถส่งออกเป็นอาร์เรย์
- ความเป็นไปได้ทุกคนควรจะมีอย่างน้อย 2 หมายเลขที่แตกต่างกัน
- คุณต้องส่งออกเป็นส่วนหนึ่งของลำดับคุณไม่สามารถผสมตัวเลขที่ไม่ได้ติดกันอื่น ๆ
14
เช่น: - ไม่อนุญาตให้ใช้เอาต์พุต Hardcoded อย่างไรก็ตามคุณสามารถเข้ารหัสสตริง / หมายเลข / อาร์เรย์ที่มีลำดับแบบเต็มได้
- ข้อมูลเข้า 27 ควรกลับมาตามลำดับ 2048 เต็ม
- ดังกล่าวแล้วก่อนที่จะทำตัวเลขไม่ได้ตัด อดีต
16
ต้องอยู่16
- คุณไม่สามารถใช้481
-4816
คุณต้องใช้ - แก้ไข:ฉันอาจจะพูดอะไรผิดไปที่นั่น; 2048 เป็นหมายเลขสุดท้ายที่โปรแกรมของคุณควรสนับสนุนคุณสามารถเพิ่มการสนับสนุนสำหรับ int ที่ใหญ่ขึ้น
กรณีทดสอบ
การป้อนข้อมูล: 2
12, 24, 48
การป้อนข้อมูล: 3
124, 248, 816
การป้อนข้อมูล: 4
1248, 4816, 1632, 3264
การป้อนข้อมูล: 5
24816, 81632, 64128
การป้อนข้อมูล: 27
124816326412825651210242048
และตัวเลขต่อมา ...
หากฉันทำผิดพลาดในกรณีทดสอบใด ๆ ให้บอกฉันหรือแก้ไขคำถาม
นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ!