Создайте программу, которая вычисляет вес Хемминга строки. Победителем является программа с наименьшим весом Хэмминга.
Правила:
- Вес Хэмминга для символа ASCII определяется как общее количество бит, установленных
1
в его двоичном представлении. - Предположим, что кодировка ввода 7-битная ASCII, переданная через любой механизм ввода, нормальный для вашего языка (например, stdin, args и т. Д.)
- Выведите результат в виде числа в стандартный вывод или любой другой механизм вывода по умолчанию / обычный, используемый вашим языком.
- Само собой разумеется, но вы должны иметь возможность реально запустить программу в реальной жизни, чтобы она была правильным решением.
- Победителем является решение, код которого имеет наименьший вес Хэмминга.
Извините, в этом пробеле нет решений !Хорошо, теперь вы можете кодировать в пробелах, я разобрался с правилами :)
Персональные примеры:
char | binary | weight
-----+----------+-------
a | 01100001 | 3
x | 01111000 | 4
? | 00111111 | 6
\x00 | 00000000 | 0
\x7F | 01111111 | 7
hello world
11? Только 10 символов отличаются от пробела. Кроме того, вес программы Хэмминга, кажется, только его длина, исключая пробелы. Не сильно отличается от нормального кода гольфа.
~
AND o
.
0x20
/ ASCII 32 в качестве эталона, не будет ли гудениеhello world
10, а не 11?