งาน
รับสตริงอินพุตของอักขระ ASCII หนึ่งตัวหรือมากกว่าที่ codepoints อยู่ระหว่าง 0 ถึง 128 (พิเศษ) ให้ทำดังนี้:
- แปลงอักขระแต่ละตัวเป็นรหัส ASCII 7 บิต (ถ้ารหัส ASCII น้อยกว่า 7 บิตใส่ศูนย์นำหน้าบิต)
- ต่อเชื่อมบิตทั้งหมด (ผลลัพธ์นี้เป็น
7*n
บิตที่n
จำนวนอักขระ) - สำหรับแต่ละบิตในบิตสตรีมนี้ให้พิมพ์ 1 หากแตกต่างจากบิตก่อนหน้าและพิมพ์ 0 มิฉะนั้น บิตแรกที่ส่งออกคือ 1 เสมอ
ตัวอย่าง
การป้อนข้อมูล:
Hi
เอาท์พุท:
11011001011101
คำอธิบาย:
สตริง "Hi" มีรหัส ASCII
72 105
ซึ่งในบิตคือ:
1001000 1101001
และตัวบ่งชี้บิตการเปลี่ยนแปลง:
11011001011101
นี่คือรหัสกอล์ฟ จำนวนไบต์ต่ำสุดชนะ
กรณีทดสอบ
กรณีทดสอบ 1:
Hello World!
110110010101110011010101101010110001110000111110000110000001011101101010101100110001
กรณีทดสอบ 2:
%% COMMENT %%
1110111111011111100001100010010100001010110101011010011101010011111110011000001101111110111
กรณีทดสอบ 3 (ให้เครดิตกับ Luis Mendo):
##
11100101110010
ขอแสดงความยินดีกับ Luis Mendo สำหรับวิธีแก้ปัญหาที่สั้นที่สุดด้วย 9 ไบต์ใน MATL!
##
(0
บิตนำส่วนหนึ่งคำตอบบางอย่างล้มเหลวในขณะนี้เพราะเหตุนั้น)