Buat program yang menghitung berat hamming dari string. Pemenang adalah program dengan bobot hamming terendah.
Aturan:
- Hamming weight untuk karakter ASCII didefinisikan sebagai jumlah total bit yang diset
1
dalam representasi binernya. - Asumsikan pengkodean input adalah ASCII 7-bit, melewati mekanisme input apa pun yang normal untuk bahasa Anda (mis. Stdin, args, dll.)
- Keluarkan hasilnya, sebagai angka, ke stdout atau apa pun mekanisme keluaran default / normal yang digunakan bahasa Anda.
- Seharusnya tidak perlu dikatakan, tetapi Anda harus dapat benar-benar menjalankan program, dalam kehidupan nyata, agar itu menjadi solusi yang valid.
- Winner adalah solusi yang kodenya memiliki bobot hamming terendah.
Maaf, tidak ada solusi di spasi putih untuk yang satu ini!Ok, Anda bisa kode di whitespace sekarang saya sudah beres aturan :)
Contoh per karakter:
char | binary | weight
-----+----------+-------
a | 01100001 | 3
x | 01111000 | 4
? | 00111111 | 6
\x00 | 00000000 | 0
\x7F | 01111111 | 7
hello world
11? Hanya 10 karakter yang berbeda dari satu spasi. Juga - berat program Hamming tampaknya hanya panjangnya, tidak termasuk ruang. Tidak jauh berbeda dengan golf kode normal.
~
DAN o
.
0x20
/ ASCII 32 sebagai rujukan, bukankah berat dengunganhello world
10 daripada 11?