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