Візьміть рядок, s
що містить вхідні символи ASCII для друку, і виведіть його "двійкову розділену суму". Потрібно пояснення?
Як ви отримуєте двійкову суму розбиття?
Ми будемо використовувати рядок A4
як приклад у наступному поясненні.
Перетворіть символи у двійкові, трактуючи кожну букву як 7-бітний символ ASCII
A -> ASCII 65 -> 1000001 4 -> ASCII 52 -> 0110100
Об'єднайте двійкові числа в нове двійкове число
A4 -> 1000001 & 0110100 -> 10000010110100
Розділіть нове двійкове число на шматки, де ліворуч не
1
може бути0
ліворуч. Ви не повинні розділяти послідовні1
s.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
власне.