Rebmu : 9 (w / โทษ) หรือ 13 (ไม่รวม)
โซลูชัน Rebmu ที่น่าเบื่อคือ 9 และรับโทษ Palindromic ฉันจะแสดงมันต่อไป "เพียงเพราะ":
rnRVaVRnr
การใช้กลอุบายของการป่าวประกาศการไหลของตัวอักษรเป็นคำที่แยกจากกันและการขาดการใช้ทุนชั้นนำหมายความว่าเราไม่ได้สร้างคำเราจึงผลิตคำสามัญห้าคำ:
rn rv a vr nr
ซึ่งเป็นชวเลขสำหรับรหัสที่เทียบเท่า (เช่น Rebmu ตามกฎหมาย):
return reverse a vr nr
ความจริงที่ว่า vr และ nr นั้นไร้ความหมายไม่สำคัญเพราะแม้จะไม่ได้รับมอบหมายให้ทำสิ่งใดก็ตาม ดังนั้นผู้ประเมินจะรันreturn reverse a
... มันทำงานได้ทั้งสองวิธี แต่นี่คล้ายกับการโกงที่น่าเบื่อ: รหัสไม่ได้ถูกใส่ความคิดเห็น แต่มันตายแล้วและไม่ได้ดำเนินการบนเส้นทางเดียว
สำหรับสิ่งที่น่าตื่นเต้นมากกว่าที่ไม่ได้รับการลงโทษวิธีการแก้ปัญหาตัวละคร 13 ตัวนี้:
a VR :rv AvrA
เรามาดูกันว่าวิธีนี้ถูกประมวลผลบนเส้นทางไปข้างหน้าและย้อนกลับเมื่อขยาย ส่งต่อ:
a ; evaluate a, as it is a string it has no side effects
vr: :reverse ; "set" vr to mean what a "get" of reverse means now
a: vr a ; assign a to calling "vr" on a, effectively reversing
; ^-- result of assign is last expression, the answer!
ย้อนกลับเป็นArvA vr: RV a
:
a: reverse a ; assign A to its reversal
vr: rv: a ; make the abbreviation vr equal to assignment of a to rv
; ^-- result of assign is last expression, the answer!
ในข้อเสียตัวแปรด้านหลังคือการเขียนทับตัวย่อสำหรับการย้อนกลับ แต่เฮ้มันไม่ใช่ Palindrome และมันก็แค่ 13 ตัวอักษร :-)
(หมายเหตุ: นี่ถือว่าคุณใช้ Rebmu ในโหมด / args โดยที่ a คืออาร์กิวเมนต์เริ่มต้นของโปรแกรมที่ส่งไปยังตัวแปลบนบรรทัดคำสั่งและคุณยอมรับผลลัพธ์หากการอ่านจากอินพุตมาตรฐานเป็นสิ่งที่จำเป็นจริง ๆ เติบโตเช่นจาก 9 ถึง 11 ตัวอักษรสำหรับการแก้ปัญหาอย่างง่าย: rnRVrArVRnr
. และหากคุณต้องพิมพ์ไปยังเอาต์พุตมาตรฐานจากภายในโปรแกรมแทนการยอมรับการแสดงออกของการแสดงออกของล่ามที่จะเพิ่มตัวอักษรคู่เกินไป)
-1%#%1-/1
หรือ-1%#%(0
?