Diese Herausforderung ist einfach: Geben Sie eine Dezimalzahl ein, wandeln Sie sie in eine Binärzahl um und berechnen Sie die Summe der Teilzeichenfolgen der Binärzahl, deren Länge kürzer als die ursprüngliche Zahl ist. Hier ist ein Beispiel:
Input:
11
Binary:
11 -> 1011
Substrings:
101 = 5
011 = 3
10 = 2
01 = 1
11 = 3
1 = 1
0 = 0
1 = 1
1 = 1
Sum:
5+3+2+1+3+1+0+1+1=17
Output:
17
Ihr Programm sollte eine einzelne Dezimalzahl als Eingabe verwenden und die Summe der binären Teilzeichenfolgen ausgeben, wie oben gezeigt. Sie können davon ausgehen, dass die Eingabe in ihrer Binärdarstellung immer mehr als zwei Stellen hat und dass die Eingabe während der Ausführung Ihres Programms keine Fehler verursacht.
Das ist Code-Golf , der kürzeste Code in Bytes gewinnt!
Testfälle:
2 => 1
3 => 2
4 => 3
5 => 5
6 => 7
7 => 9
8 => 7
9 => 10
10 => 14
11 => 17