Utwórz program, który oblicza masę hamującą łańcucha. Zwycięzcą jest program o najniższej wadze młota.
Zasady:
- Waga Hamminga dla znaku ASCII jest zdefiniowana jako całkowita liczba bitów ustawiona
1
w jego reprezentacji binarnej. - Załóżmy, że kodowanie wejściowe to 7-bitowe ASCII, przekazywane przez dowolny mechanizm wejściowy, który jest normalny dla twojego języka (np. Standardowe, args itp.)
- Wyprowadź wynik jako liczbę do standardowego lub innego domyślnego / normalnego mechanizmu wyjściowego używanego przez Twój język.
- Powinno być oczywiste, ale musisz być w stanie uruchomić program w prawdziwym życiu, aby było to prawidłowe rozwiązanie.
- Zwycięzca to rozwiązanie, którego kod ma najniższą masę młota.
Niestety, nie ma dla tego rozwiązania białych znaków !Ok, możesz pisać w białych znakach, teraz uporządkowałem zasady :)
Przykłady poszczególnych znaków:
char | binary | weight
-----+----------+-------
a | 01100001 | 3
x | 01111000 | 4
? | 00111111 | 6
\x00 | 00000000 | 0
\x7F | 01111111 | 7
hello world
11? Tylko 10 znaków różni się od spacji. Ponadto - waga Hamminga programu wydaje się być tylko długością, z wyłączeniem spacji. Nie różni się tak bardzo od normalnego golfa kodowego.
~
AND o
.
0x20
/ ASCII 32 jako odniesienie, to czy szum nie jest równyhello world
10, a nie 11?