ความท้าทายของคุณคือการรับข้อมูลเช่นนี้ (โปรแกรม Hello World):
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
และเอาท์พุทพรอมต์ (ซึ่งจะเป็น"> "
):
>
ผู้ใช้สามารถป้อนอะไรก็ได้ที่พรอมต์ ดีบักเกอร์แบบง่ายของคุณต้องมีคำสั่งเหล่านี้:
S
- ขั้นตอน- เอาท์พุทตำแหน่งปัจจุบัน (ดู
L
) หลังจากก้าว S(a positive integer)
- ขั้นตอนที่ช่องว่างมากมาย
- เอาท์พุทตำแหน่งปัจจุบัน (ดู
L
- ที่ตั้ง- คำว่า "ตำแหน่ง" หมายถึงตำแหน่งที่คุณอยู่ในโปรแกรมเสมอ (เช่นตัวชี้คำสั่ง)
จัดรูปแบบดังนี้:
v +++++++[>+++++++<-]>.
+
ซึ่งหมายความว่าสถานที่ตั้งปัจจุบันของโปรแกรมเป็นที่สาม
G(an integer)
- ไปที่- นี่หมายถึงก้าวไปเรื่อย ๆ จนกว่าคุณจะไปถึงที่ตั้งนั้น หากคุณไปถึงจุดสิ้นสุดของโปรแกรมและคุณไม่ได้อยู่ที่นั่นเพียงออกจากโปรแกรม
- จำนวนเต็มลบหมายความว่าอักขระจำนวนมากจากจุดสิ้นสุด ใช่นี่หมายความว่า
-0
แตกต่างจาก0
และ-1
เป็นตัวอักษรที่สองถึงตัวสุดท้าย - อย่าส่งเอาต์พุตอะไรสำหรับคำสั่งนี้
D
- อาร์เรย์การถ่ายโอนข้อมูล- รูปแบบที่ชอบ
1, 2, 3, 4, 5
- หากอาร์เรย์คือการส่งออกเท่านั้น
1, 2, 3, 0, 0, 0, 0, 0, ...
1, 2, 3
D(a positive integer) (a positive integer)
- ดัมพ์ไอเท็มอาร์เรย์ทั้งหมดระหว่างสองตำแหน่ง (รวม)
- รูปแบบที่ชอบ
(a positive integer)
- เอาท์พุทรายการปัจจุบันที่ตำแหน่งอาร์เรย์P
- ส่งออกดัชนีของตัวชี้ BF (สิ่งที่คุณเปลี่ยนแปลงด้วย>
และ<
)
"I> "
เมื่อโปรแกรมการร้องขอการป้อนข้อมูลแสดงพรอมต์ (คุณสามารถป้อนอักขระครั้งละหนึ่งตัว)
"O> " + (the output)
เมื่อมันจะออกผลลัพธ์บางสิ่งบางอย่างแสดง เอาต์พุตหลายรายการระหว่างคำสั่งจะต้องถูกผูกมัดเข้าด้วยกัน (เช่นคุณไม่สามารถทำได้ต้อง> G-0 O> H O> e O> l O> l O> o ...
มี> G-0 O> Hello, World!
)
เอาท์พุท "เสร็จสิ้น" และออกเมื่อคุณไปถึงจุดสิ้นสุดของโปรแกรม
วิ่งตัวอย่าง:
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
> S
1
> S
2
> S2
4
> S0
4
> L
v
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
> D
4
> 0
4
> D10 15
0, 0, 0, 0, 0, 0
> G-0
O> Hello, World!
Done
ตัวอย่างการวิ่งแสดงการก้าวผ่านลูปและP
คำสั่ง (คำนวณ3*2+1
)
+++[>++<-]>+
> S3
3
> L
v
+++[>++<-]>+
> S3
6
> L
v
+++[>++<-]>+
> P
1
> S3
9
> L
v
+++[>++<-]>+
> S
3
> L
v
+++[>++<-]>+
> D
2, 2
>
ตัวอย่างการรันแสดง I / O
>+[>,---------------------------------]<[<]>[>.]
> G37
I> H
I> e
I> l
I> l
I> o
I> !
> D
0, 39, 68, 75, 75, 78
> G-0
O> 'DKKN
Done
นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดจะชนะ