สร้างโปรแกรมที่คำนวณน้ำหนักการขัดขวางของสตริง ผู้ชนะคือโปรแกรมที่มีน้ำหนักแฮมมิ่งต่ำสุด
กฎ:
- การรับน้ำหนักของตัวอักษร ASCII ถูกกำหนดเป็นจำนวนบิตทั้งหมดที่ตั้งค่าไว้
1
ในการเป็นตัวแทนไบนารี - สมมติว่าการเข้ารหัสอินพุตเป็น 7 บิต ASCII ผ่านสิ่งที่กลไกการป้อนข้อมูลเป็นเรื่องปกติสำหรับภาษาของคุณ (เช่น stdin, args ฯลฯ )
- เอาท์พุทผลลัพธ์เป็นตัวเลขเพื่อ stdout หรือกลไกเอาต์พุตปกติ / ปกติที่ภาษาของคุณใช้
- มันควรจะไปโดยไม่บอก แต่คุณต้องสามารถเรียกใช้โปรแกรมในชีวิตจริงเพื่อให้เป็นทางออกที่ถูกต้อง
- ผู้ชนะคือคำตอบที่มีรหัสน้ำหนักต่ำสุด
ขออภัยไม่มีวิธีแก้ไขในช่องว่างสำหรับอันนี้!ตกลงคุณสามารถเขียนโค้ดในช่องว่างขณะนี้ฉันได้แยกกฎออกแล้ว :)
ตัวอย่างต่อตัวละคร:
char | binary | weight
-----+----------+-------
a | 01100001 | 3
x | 01111000 | 4
? | 00111111 | 6
\x00 | 00000000 | 0
\x7F | 01111111 | 7
hello world
11 มีอักขระเพียง 10 ตัวที่แตกต่างจากช่องว่าง นอกจากนี้ - น้ำหนัก Hamming ของโปรแกรมดูเหมือนจะเป็นเพียงความยาวไม่รวมช่องว่าง ไม่แตกต่างจากรหัสกอล์ฟทั่วไป
~
o
0x20
/ ASCII 32 เป็นข้อมูลอ้างอิงน้ำหนักที่ไม่น่าจะเป็นhello world
10 แทนที่จะเป็น 11