To wyzwanie jest proste, biorąc pod uwagę liczbę dziesiętną, przekonwertować na liczbę binarną i obliczyć sumę podłańcuchów liczby binarnej, której długość jest mniejsza niż liczba pierwotna. Oto przykład:
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
Twój program powinien przyjmować jedną liczbę całkowitą dziesiętną jako dane wejściowe i wyjściowe sumę podciągów binarnych, jak pokazano powyżej. Możesz założyć, że wejście zawsze będzie miało więcej niż dwie cyfry w swojej reprezentacji binarnej i że na wejściu nie spowoduje żadnych błędów podczas wykonywania programu.
To jest code-golf , wygrywa najkrótszy kod w bajtach!
Przypadki testowe:
2 => 1
3 => 2
4 => 3
5 => 5
6 => 7
7 => 9
8 => 7
9 => 10
10 => 14
11 => 17