ข้อความรส
สต็อก esolang Underloadมีความสัมพันธ์ที่น่าสนใจกับการเขียนโปรแกรมการทำงาน หนึ่งในนั้นคือการรักษาประเภทข้อมูลที่เป็นตัวเลข - เช่นแคลคูลัสแลมบ์ดาคุณเป็นตัวแทนของจำนวนธรรมชาติ N โดยฟังก์ชั่นที่ดำเนินการแอ็คชั่น N ครั้ง
เพื่อให้ง่ายขึ้นเราจะพิจารณาเฉพาะชุดย่อยของคำสั่ง Underload เท่านั้น:
:
- คำสั่งนี้ทำซ้ำรายการบนสุดในสแต็ก*
- คำสั่งนี้ต่อสองไอเท็มบนสุดของสแต็กเข้ากับไอเท็มเดี่ยว
เรากำหนดUnderload numeral Nเป็นสตริง:
และ*
เมื่อดำเนินการใช้รายการบนสุดในสแต็กและสร้างสำเนา N ของรายการนั้นต่อกัน ตัวอย่างบางส่วน:
- ไม่มีตัวเลข Underload 0, -1, 1/2, π
- สตริงว่าง
คือ Underload ตัวเลข 1 เนื่องจากปล่อยให้สแต็กไม่ถูกแตะต้อง
:*
เป็น underload เลข 2 เพราะมันซ้ำรายการด้านบนแล้วเชื่อมทั้งสองเล่มด้วยกันเป็นรายการเดียว:(A):*
= =(A)(A)*
(AA)
::**
เป็น underload เลขที่(A)::**
3:(A)(A):**
=(A)(AA)*
=(AAA)
=:::***
เป็น Underload ตัวเลข 4:*:*
นอกจากนี้ยังเป็น underload เลขที่(A):*:*
4:(AA):*
=(AA)(AA)*
=(AAAA)
=
โดยทั่วไปแล้วคุณจะพบว่าหากM
และN
เป็น Underload numerals M และ N ก็:N*
จะเป็นตัวเลข N + 1 และMN
เป็นตัวเลข M × N
ความท้าทาย
งานของคุณคือการเขียนโปรแกรมที่สั้นที่สุด (รับอินพุตบน STDIN) หรือฟังก์ชั่น (รับอินพุตผ่านอาร์กิวเมนต์) ซึ่งสร้างการแสดงที่สั้นที่สุดของตัวเลข Underload สำหรับอินพุตเป็นสตริง กล่าวคือถ้าอินพุตเป็นจำนวนธรรมชาติบวก N> 1 คุณต้องสร้างตัวเลข Underload N ที่มีความยาวเป็นอักขระน้อยกว่าหรือเท่ากับของตัวเลขอื่น ๆ Underload N ทั้งหมด
ตัวอย่างอินพุตและเอาต์พุต: ("อินพุต - OUTPUT
.")
- 1 -
.
- 2
:*
- - 5 -
::*:**
(2 × 2 + 1) - 7 -
::*::***
(2 × 3 + 1) หรือ:::**:**
(3 × 2 + 1) - 33 -
::*:*:*:*:**
(2 × 2 × 2 × 2 × 2 + 1) - 49 -
::*:*:*:*::***
(16 × 3 + 1, ความยาว 14) แต่ไม่::*::***::*::***
(7 × 7, ความยาว 16)
หากอินพุตไม่ใช่จำนวนบวกคุณมีอิสระที่จะส่งคืนข้อผิดพลาดสร้างพฤติกรรมที่ไม่ได้กำหนดหรือแม้แต่ล้มเหลวในการยกเลิก คำอธิบายเกี่ยวกับวิธีการของการส่งคำตอบในการค้นหาคำตอบนั้น
ข้อ จำกัด ช่องโหว่มาตรฐานใช้: ไม่มีการป้อนข้อมูลเพิ่มเติมไม่มีคำขอเว็บค่าส่งออก / คืนจะต้องเป็นคำตอบที่แน่นอนและไม่กระแสสุ่มที่ไม่มีที่สิ้นสุดของ:
และ*
อื่น ๆ
x
คือ2*A117498(x)
ที่A117498ให้การผสมผสานที่ดีที่สุดของวิธีการแบบไบนารีและปัจจัยสำหรับการค้นหาสายโซ่นอกจากนี้