>>>>>>-[[->>>+<<<]------>>>-]<<<[<<<]+[+[>>>]<<<->+[<[+>-]>[-<<<<->+>>------>>]<<<<]>>-[<<<].>>>-]
ซึ่งพิมพ์ออกมาอย่างแน่นอน
298333629248008269731638612618517353495058861384016275770860733328251135402804732197446995616017112134460464130233444058136509123809012106419446593183683387659250431692751255099808162970657410517657862174602556590616568690423540284801267472920128909691902547970614008613488242333460665145840144517097342073878746293059960326132795671583153307437896728515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
250255
เครดิตไปที่@hvdในคำตอบของ Brainfuckดังนั้นอย่าลืมอัปเกรดเขา!
คำอธิบาย:
ฉันกำลังจะเขียนคำอธิบายของตัวเอง แต่การรับรู้ของ@hvdอยู่ในจุดแล้วดังนั้นฉันจะพูดที่นี่แทน
>>>>>>
จำเป็นต้องออกจากพื้นที่ทำงานเล็กน้อย
-
สร้าง 255 ( ตั้งแต่ 0 - 1 = 255 เมื่อเรามีเซลล์ห่อ )
[[->>>+<<<]------>>>-]
เปลี่ยนเป็น 255 สำเนาของค่า 250 โดยให้เทปที่มีลักษณะดังนี้:
0 0 0 0 0 0 250 0 0 250 0 0 ... 250 0 0 [0]
<<<[<<<]+
ย้ายตัวชี้ข้อมูลไปด้านหลังและจบข้อมูลแรก:
0 0 0 [1] 0 0 250 0 0 250 0 0 ...
จากนั้นลูป: [+...-]
เริ่มแรกตั้งค่า 1 เป็น 2 ซึ่งได้รับการตั้งค่ากลับเป็น 1 ในตอนท้ายของลูป ลูปสิ้นสุดลงเมื่อร่างกายลูปตั้งค่า 2 เป็น 1 แล้ว
ทีนี้ตัวเลข 2 250 250 250 ... 250 แทนเคาน์เตอร์ในฐาน 250 โดยแต่ละหมายเลขหนึ่งมากกว่าตัวเลข
[>>>]<<<
เลื่อนไปจนสุดทาง เนื่องจากตัวเลขแต่ละหลักแสดงด้วยตัวเลขที่ไม่เป็นศูนย์นี่เป็นเรื่องเล็กน้อย
->+[<[+>-]>[-<<<<->+>>------>>]<<<<]>>-
ลดจำนวนตัวนับ 1 เริ่มต้นด้วยหลักสุดท้าย: ตัวเลขจะลดลง ถ้ามันยังคงเป็นบวกเราจะทำ หากเปลี่ยนเป็นศูนย์ให้ตั้งเป็น 250 และดำเนินการต่อด้วยตัวเลขก่อน
[<<<].>>>
เลื่อนตัวชี้กลับมาก่อนตัวเลขหลักซ้ายสุดและนี่เป็นช่วงเวลาที่ดีในการพิมพ์ NUL ไบต์ จากนั้นปรับตำแหน่งให้เป็นจำนวนหลักซ้ายสุดทุกประการเพื่อดูว่าเราทำเสร็จแล้วหรือไม่
เพื่อตรวจสอบความถูกต้องเปลี่ยนเริ่มต้น-
เพื่อ+
การพิมพ์ 250 1 NUL ไบต์++
สำหรับ250 2ฯลฯ
+[.]
ฉันจะชนะหรือไม่ : P