Crea un programma che calcola il peso di martellamento di una stringa. Il vincitore è il programma con il minor peso di martellamento.
Regole:
- Il peso di hamming per un carattere ASCII è definito come il numero totale di bit impostati su
1
nella sua rappresentazione binaria. - Supponiamo che la codifica di input sia ASCII a 7 bit, trasmessa attraverso qualsiasi meccanismo di input normale per la tua lingua (ad es. Stdin, args, ecc.)
- Invia il risultato, come numero, su stdout o su qualsiasi meccanismo di output predefinito / normale utilizzato dalla tua lingua.
- Dovrebbe essere ovvio, ma devi essere in grado di eseguire effettivamente il programma, nella vita reale, affinché sia una soluzione valida.
- Winner è la soluzione il cui codice ha il minor peso di battuta.
Siamo spiacenti, nessuna soluzione negli spazi bianchi per questo!Ok, puoi scrivere codice negli spazi bianchi ora ho risolto le regole :)
Esempi per personaggio:
char | binary | weight
-----+----------+-------
a | 01100001 | 3
x | 01111000 | 4
? | 00111111 | 6
\x00 | 00000000 | 0
\x7F | 01111111 | 7
hello world
11? Solo 10 caratteri sono diversi da uno spazio. Inoltre, il peso di un programma di Hamming sembra essere solo la sua lunghezza, esclusi gli spazi. Non così diverso dal normale golf da codice.
~
E o
.
0x20
/ ASCII 32 come riferimento, non è il ronzio dihello world
10 anziché di 11?