Inspirowany czwartym problemem z BMO2 2009 .
Biorąc pod uwagę dodatnią liczbę całkowitą n jako dane wejściowe lub parametr, zwróć liczbę liczb całkowitych dodatnich, których reprezentacje binarne występują jako bloki w binarnym rozwinięciu n .
Na przykład 13 -> 6, ponieważ 13 w systemie binarnym to 1101 i ma podciągi 1101, 110, 101, 11, 10, 1
. Nie liczymy liczb binarnych rozpoczynających się od zera i nie liczymy samego zera.
Przypadki testowe
13 -> 6
2008 -> 39
63 -> 6
65 -> 7
850 -> 24
459 -> 23
716 -> 22
425 -> 20
327 -> 16
Możesz wziąć n jako jeden z poniższych:
- Liczba całkowita
- lista wartości prawda / fałsz dla reprezentacji binarnej
- ciąg reprezentacji binarnej
- ciąg podstawowy 10 (choć nie jestem pewien, dlaczego ktoś miałby to zrobić)
Ustaw swój kod tak krótko, jak to możliwe.