Lua 5.3, 108097107033101 ไบต์, คะแนน28 27
load(([[REPLACE]]):gsub([[[<>]-{()}]],[[%1]]):gsub([[...]],([[]]).char))()
ที่นี่REPLACE
จะถูกแทนที่ด้วยสตริงความยาว 108097107033034 อักขระฟรี สตริงเข้ารหัสข้อมูลโดยใส่{}
ที่ตำแหน่งสำคัญบางอย่าง ตัวแรกgsub
จะแทนที่สตริงด้วยดัชนีของ{}
s (ผ่านกลุ่มการจับภาพที่ว่างเปล่า()
) ส่วนที่สองgsub
แบ่งสตริงผลลัพธ์นี้เป็นบล็อก 3 หลักและแทนที่แต่ละบล็อกด้วยการแทน ASCII
โปรดทราบว่าไวยากรณ์สำหรับสตริงดิบใน Lua คือ (โดยทั่วไป) [[string contents]]
ซึ่งค่อนข้างมีประโยชน์ในการลดคะแนน
(ที่ไม่ใช้ Escape) print"Surprise!\nHappy Birthday, Brain-Flak!"
สตริงฉันสร้างเป็น แทนที่ตัวละครแต่ละตัวมี 3 หลักบาทรหัสทศนิยม ASCII 112114105110116034083117114112114105115101033092110072097112112121032066105114116104100097121044032066114097105110045070108097107033034
ที่ให้ รหัสที่ฉันใช้สามารถสร้างลำดับของการเพิ่มจำนวนธรรมชาติ (อย่างน้อย 2 ชิ้น) ที่ไม่ได้ขึ้นต้นด้วยเลขศูนย์เริ่มต้น 11, 2114, 105110, 1160340, 83117114, 112114105, 1151010330, 9211007209, 71121121210, 320661051141, 1610410009712, 10440320661140, 97105110045070, 108097107033034
ดังนั้นจำนวนนี้ได้รับแยกออกเป็น (ตัวเลขสุดท้ายนี้คือความยาวของREPLACE
ค่าตามที่การจับคู่ครั้งสุดท้ายของรูปแบบจะให้ดัชนีสุดท้าย}
ซึ่งสังเกตว่าดัชนี Lua เริ่มต้นที่ 1 หากตัวเลขสุดท้ายเป็นเลขคี่รูปแบบและสตริงจะมี แก้ไขได้เล็กน้อยแม้ว่าจะไม่ยาก)
ฉันไม่ได้สร้างและรันโปรแกรมนี้เพราะมันใหญ่เกินไป (แม้ว่าในทางทฤษฎีแล้วมันจะสามารถทำงานกับเครื่อง 64- บิต แต่มันก็ไม่เหมาะกับฮาร์ดไดรฟ์ของฉัน)
เพื่อเป็นการพิสูจน์แนวคิดนี่เป็นโปรแกรมขนาดเล็กที่พิมพ์3
โดยใช้หลักการเดียวกัน:
p=print
load(([[<<><><><>{}<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>{}<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>{}><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>{}]]):gsub([[[<>]-{()}]],[[%1]]):gsub([[...]],([[]]).char))()
นี้สร้างสตริงรหัสp"3"
ผ่านหมายเลขผ่านทางแยก112034051034
11, 203, 405, 1034