Позитивне ціле число можна розбавити , вставивши 0між двома бітами в його бінарне розширення. Це означає, що nчисло -біт має n-1розрідження, які не обов'язково є усіма різними.
Наприклад, для 12(або 1100в двійкових) розведення є
11000 = 24
^
11000 = 24
^
10100 = 20
^
У цьому виклику ми беремо суму всіх розбавлень, виключаючи початкове число. Бо 12, якщо взяти суму 24, 24, 20результатів 68, таким 68повинен бути результат для 12.
Виклик
Враховуючи додатне ціле число n > 1як вхід, виведіть / поверніть розведену суму, як пояснено вище.
Приклади
in out
--- ---
2 4
3 5
7 24
12 68
333 5128
512 9216
Правила
- Можна вважати, що вхід і вихід відповідають цілому цілому типу вашої мови.
- Введення та вихід можуть бути задані у будь-якому зручному форматі .
- Прийнятна або повна програма, або функція. Якщо функція, ви можете повернути вихід, а не надрукувати його.
- Стандартні лазівки заборонені.
- Це код-гольф, тому діють усі звичайні правила гольфу, і найкоротший код (у байтах) виграє.