Возьмите строку, s
содержащую печатные символы ASCII в качестве входных данных, и выведите ее «двоичную сумму деления». Нужно объяснение?
Как вы получаете двоичную сумму?
Мы будем использовать строку A4
в качестве примера в следующем объяснении.
Преобразуйте символы в двоичные, обрабатывая каждую букву как 7-битный символ ASCII
A -> ASCII 65 -> 1000001 4 -> ASCII 52 -> 0110100
Объединить двоичные числа в новое двоичное число
A4 -> 1000001 & 0110100 -> 10000010110100
Разбейте новое двоичное число на куски, где ни один не
1
может иметь0
слева от себя. Вы не должны разделять последовательные1
строки.10000010110100 -> 100000, 10, 110, 100
Преобразовать эти двоичные числа в десятичные
100000, 10, 110, 100 -> 32, 2, 6, 4
Возьмите сумму этих чисел:
32 + 2 + 6 + 4 = 44
Итак, вывод для строки A4
должен быть 44
.
Тестовые случаи:
a
49
A4
44
codegolf
570
Hello, World!
795
8372
вообще-то.