Cree un programa que calcule el peso de una cadena. El ganador es el programa con el menor peso de hamming.
Reglas:
- El peso de Hamming para un carácter ASCII se define como el número total de bits establecido
1
en su representación binaria. - Suponga que la codificación de entrada es ASCII de 7 bits, se pasa a través de cualquier mecanismo de entrada que sea normal para su idioma (por ejemplo, stdin, args, etc.)
- Envíe el resultado, como un número, a stdout o cualquier mecanismo de salida predeterminado / normal que utilice su idioma.
- Debería ser evidente, pero debe ser capaz de ejecutar el programa, en la vida real, para que sea una solución válida.
- Winner es la solución cuyo código tiene el menor peso de hamming.
Lo sentimos, no hay soluciones en espacios en blanco para este!Ok, puedes codificar en espacios en blanco ahora que he resuelto las reglas :)
Ejemplos por personaje:
char | binary | weight
-----+----------+-------
a | 01100001 | 3
x | 01111000 | 4
? | 00111111 | 6
\x00 | 00000000 | 0
\x7F | 01111111 | 7
hello world
11? Solo 10 caracteres son diferentes de un espacio. Además, el peso de Hamming de un programa parece ser solo su longitud, excluyendo espacios. No es tan diferente del código normal de golf.
~
Y o
.
0x20
/ ASCII 32 como referencia, ¿no es el zumbido dehello world
10 en lugar de 11?