MarioLANG, 965 834 ไบต์
ลองออนไลน์
อย่างนี้มันซับซ้อนอย่างน่าขัน
ในทางเทคนิคแล้วผลลัพธ์ที่ถูกต้อง แต่ในทางปฏิบัติ Tio สำหรับ MarioLANG เอาต์พุต "n" แทนที่จะเป็น "n" เมื่อเราพิมพ์ตัวเลขด้วย ':'
ถ้าฉันหาเวลาฉันจะเดาว่าฉันจะลองทำโปรแกรม (อาจจะนานกว่านั้น) เวอร์ชั่นที่ออกอย่างถูกต้องบน Tio
++<>) +++@++++> [!) >)>((((::(.)::((.))+:+:--(.)::)).).).)+++++++++
++""+ +"=====""====#) "+"============================================
+++)+ +>>+++++- <+<)->+++ ![-).).).))(::)).(:(:)))..(((::)).(:+(:((((<
+>+++ ++"====<( ")")-"!+++#=========================================="
+(+++>++!++)<+( ++++-+++++>
-))+)=(#==="+( ++++)+++++"==========================================!
[!!+-[!(+++!!! !+!<+!++!>(((((+:(.))::(((.
==##===#====###=#=#"=##=#"=================<
++++)))+++++++++++++++(((![-).).).)::)).(:)) >
>========================#================== "
+>+ >
+"+ "=======================================[ =====================#===============[
+!> ! -).).).))(::)).)):+(..(((::)).(:+(((((<++!-).).).))(::)).)):+(.(((::)).(:+(((((<
=#==#======================================="==#======================================
คำอธิบาย:
ปัญหาหลักของเราที่นี่คือความจริงที่ว่าเรามี 6 NaN char (newLine, Space,:, a, p, m)
ใน marioLANG เพื่อพิมพ์อักขระเราต้องมีค่า ascii:
- newLineคือ 10
- ช่องว่างคือ 32
- :คือ 58
- aคือ 97
- pคือ 112
- mคือ 109
ดังนั้นสิ่งแรกที่ต้องทำคือการตั้งค่าหน่วยความจำ:
++<>) +++@++++> [!) >)> !
++""+ +"=====""====#) "+"==
+++)+ +>>+++++- <+<)->+++
+>+++ ++"====<( ")")-"!+++
+(+++>++!++)<+( ++++-+++++
-))+)=(#==="+( ++++)+++++
[!!+-[!(+++!!! !+!<+!++!>
==##===#====###=#=#"=##=#"
ด้วยสิ่งนี้หน่วยความจำจะมีลักษณะดังนี้:
v
32 58 0 0 97 109 10 0
_ : a m \n
เราจะแปลงaเป็นpในช่วงที่เหลือของโปรแกรม
จากนั้นเราจะทำการส่งออกที่เกิดขึ้นจริง:
++<>) +++@++++> [!) >)>((((::(.)::((.))+:+:--(.)::)).).).)+++++++++
++""+ +"=====""====#) "+"============================================
+++)+ +>>+++++- <+<)->+++ ![-).).).))(::)).(:(:)))..(((::)).(:+(:((((<
+>+++ ++"====<( ")")-"!+++#=========================================="
+(+++>++!++)<+( ++++-+++++>
-))+)=(#==="+( ++++)+++++"==========================================!
[!!+-[!(+++!!! !+!<+!++!>(((((+:(.))::(((.
==##===#====###=#=#"=##=#"=================<
++++)))+++++++++++++++(((![-).).).)::)).(:)) >
>========================#================== "
+>+ >
+"+ "=======================================[ =====================#===============[
+!> ! -).).).))(::)).)):+(..(((::)).(:+(((((<++!-).).).))(::)).)):+(.(((::)).(:+(((((<
=#==#======================================="==#======================================