Ce défi est simple, étant donné un nombre décimal, convertissez en binaire et calculez la somme des sous-chaînes du nombre binaire, dont la longueur est plus courte que le nombre d'origine. Voici un exemple:
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
Votre programme doit prendre un seul entier décimal en entrée et sortir la somme des sous-chaînes binaires, comme vu ci-dessus. Vous pouvez supposer que l'entrée aura toujours plus de deux chiffres dans sa représentation binaire et que l'entrée ne provoquera aucune erreur lors de l'exécution de votre programme.
C'est le code-golf , le code le plus court en octets gagne!
Cas de test:
2 => 1
3 => 2
4 => 3
5 => 5
6 => 7
7 => 9
8 => 7
9 => 10
10 => 14
11 => 17