Inspirado pelo quarto problema da BMO2 2009 .
Dado um número inteiro positivo n como entrada ou parâmetro, retorne o número de números inteiros positivos cujas representações binárias ocorrem como blocos na expansão binária de n .
Por exemplo, 13 -> 6 porque 13 no binário é 1101 e possui substrings 1101, 110, 101, 11, 10, 1. Não contamos números binários que começam com zero e não contamos zero.
Casos de teste
13 -> 6
2008 -> 39
63 -> 6
65 -> 7
850 -> 24
459 -> 23
716 -> 22
425 -> 20
327 -> 16
Você pode aceitar n como qualquer um dos seguintes:
- um inteiro
- uma lista de valores verdadeiros / falsos para a representação binária
- uma sequência para a representação binária
- uma string de base 10 (embora eu não saiba por que alguém faria isso)
Faça seu código o mais curto possível.