Brainfuck, 240 ตัวอักษร
,
>++
+++++
+[-<---
--->],[>+
+++++++[-<-
----->]<<[->+
+++++++++<]>>]<
[->+>+>>>>>>>+<<<
<<<<<<]>>>>++++++++
[-<++++>]>++++++[-<++
+++++>]+>>>++[-<+++++>]
<<<<<<[-[>.<-]<[-<+>>+<]<
[->+<]>>>>>[-<.>>+<]>[-<+>]
>.<<++<<<-<->]>>>>>>>-[-<<<<<
<.>>>
>>>]<
<<<<.
ยังไม่เสร็จ ใช้งานได้ แต่ใช้กับตัวเลขหลักเดียวเท่านั้น
แก้ไข: เสร็จแล้ว! ใช้งานได้กับล่ามที่ใช้ 0 เป็น EOF ดูNOTE
s ในแหล่งความคิดเห็นสำหรับผู้ที่มี -1
แก้ไขอีกครั้ง: ฉันควรทราบว่าเนื่องจาก Brainfuck ไม่มีวิธีมาตรฐานสำหรับการอ่านอาร์กิวเมนต์บรรทัดคำสั่งฉันใช้ stdin (อินพุตมาตรฐาน) แทน แน่นอนว่า ASCII
แก้ไขเป็นครั้งที่สาม: โอ้ที่รักดูเหมือนว่าฉันถอด.
ตัวละคร (เอาท์พุท) ตัวอักษรเมื่อกลั่นตัวรหัส แก้ไขแล้ว...
นี่คือการจัดการหน่วยความจำพื้นฐานของลูปหลัก ฉันแน่ใจว่าสามารถปรับให้เหมาะสมอย่างมากเพื่อลดจำนวนตัวละครลง 30 หรือมากกว่านั้น
- ชั่วคราว
- สำเนาเคาน์เตอร์
- ตัวนับ (นับเป็น 0)
- อักขระช่องว่าง (ทศนิยม 32)
- อักขระดอกจัน (ทศนิยม 42)
- จำนวนเครื่องหมายดอกจันในบรรทัดปัจจุบัน (ตัวนับ 1 + 2 *)
- ชั่วคราว
- อักขระบรรทัดใหม่
- ชั่วคราว?
- จำนวนบรรทัดทั้งหมด (เช่นค่าอินพุต; เก็บไว้จนถึงส่วนท้ายสุดเมื่อพิมพ์ลำต้น)
เวอร์ชันย่อ:
,>++++++++[-<------>],[>++++++++[-<------>]<<[->++++++++++<]>>]<[->+>+>>>>>>>+<<<<<<<<<]>>>>++++++++[-<++++>]>++++++[-<+++++++>]+>>>++[-<+++++>]<<<<<<[-[>.<-]<[-<+>>+<]<[->+<]>>>>>[-<.>>+<]>[-<+>]>.<<++<<<-<->]>>>>>>>-[-<<<<<<.>>>>>>]<<<<<.
และรุ่นสวย:
ASCII to number
,>
++++++++[-<------>] = 48 ('0')
Second digit (may be NULL)
,
NOTE: Add plus sign here if your interpreter uses negative one for EOF
[ NOTE: Then add minus sign here
>++++++++[-<------>]
<<[->++++++++++<]>> Add first digit by tens
]
Duplicate number
<[->+>+>>>>>>>+<<<<<<<<<]>>
Space char
>>++++++++[-<++++>]
Asterisk char
>++++++[-<+++++++>]
Star count
+
New line char
>>>++[-<+++++>]<<<
<<<
Main loop
[
Print leading spaces
-[>.<-]
Undo delete
<[-<+>>+<]
<[->+<]
>>
Print stars
>>>[-<.>>+<]
Add stars and print new line
>[-<+>]
>.<
<++
<<<
-<->
End main loop
]
Print the trunk
>>>>>>>
-[-<<<<<<.>>>>>>]
<<<<<.
Merry Christmas =)
c=:[:((\:i.@#),}.)"1[:$&'*'"0[:>:0,~i.