Un entier positif peut être dilué en insérant un 0
entre deux bits dans son expansion binaire. Cela signifie qu'un n
nombre de bits a des n-1
dilutions, qui ne sont pas nécessairement toutes distinctes.
Par exemple, pour 12
(ou 1100
en binaire), les dilutions sont
11000 = 24
^
11000 = 24
^
10100 = 20
^
Dans ce défi, nous allons prendre la somme de toutes les dilutions, à l'exclusion du nombre d'origine. Car 12
, en prenant la somme des 24, 24, 20
résultats dans 68
, il 68
devrait en être de même pour la sortie de 12
.
Défi
Étant donné un entier positif n > 1
en entrée, émettez / retournez la somme diluée comme expliqué ci-dessus.
Exemples
in out
--- ---
2 4
3 5
7 24
12 68
333 5128
512 9216
Règles
- L'entrée et la sortie peuvent être supposées correspondre au type d'entier natif de votre langue.
- L'entrée et la sortie peuvent être données dans n'importe quel format pratique .
- Un programme complet ou une fonction sont acceptables. S'il s'agit d'une fonction, vous pouvez renvoyer la sortie plutôt que de l'imprimer.
- Les failles standard sont interdites.
- Il s'agit de code-golf, donc toutes les règles de golf habituelles s'appliquent et le code le plus court (en octets) l'emporte.