Inspiré par le quatrième problème de BMO2 2009 .
Étant donné un entier positif n en entrée ou un paramètre, renvoyer le nombre d'entiers positifs dont les représentations binaires se produisent sous forme de blocs dans l'expansion binaire de n .
Par exemple, 13 -> 6 car 13 en binaire est 1101 et il a des sous-chaînes 1101, 110, 101, 11, 10, 1
. Nous ne comptons pas les nombres binaires qui commencent par zéro et nous ne comptons pas zéro lui-même.
Cas de test
13 -> 6
2008 -> 39
63 -> 6
65 -> 7
850 -> 24
459 -> 23
716 -> 22
425 -> 20
327 -> 16
Vous pouvez prendre n comme l'un des éléments suivants:
- un nombre entier
- une liste de valeurs véridiques / fausses pour la représentation binaire
- une chaîne pour la représentation binaire
- une chaîne de base 10 (même si je ne sais pas pourquoi quelqu'un ferait cela)
Faites votre code aussi court que possible.