Weź ciąg znaków s
zawierający drukowalne znaki ASCII jako dane wejściowe i wyślij jego „binarną podzieloną sumę”. Potrzebujesz wyjaśnienia?
Jak uzyskać binarną sumę podziału?
Wykorzystamy ciąg A4
jako przykład w poniższym objaśnieniu.
Konwertuj znaki na binarne, traktując każdą literę jako 7-bitowy znak ASCII
A -> ASCII 65 -> 1000001 4 -> ASCII 52 -> 0110100
Połącz liczby binarne w nową liczbę binarną
A4 -> 1000001 & 0110100 -> 10000010110100
Podziel nową liczbę dwójkową na części, gdzie nie
1
ma0
po lewej stronie żadnego . Nie należy dzielić kolejnych1
s.10000010110100 -> 100000, 10, 110, 100
Konwertuj te liczby binarne na dziesiętne
100000, 10, 110, 100 -> 32, 2, 6, 4
Weź sumę tych liczb:
32 + 2 + 6 + 4 = 44
Tak więc wyjście A4
powinno być takie 44
.
Przypadki testowe:
a
49
A4
44
codegolf
570
Hello, World!
795
8372
rzeczywiście.