Возьмите строку, 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вообще-то.