Позитивне ціле число можна розбавити , вставивши 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
Правила
- Можна вважати, що вхід і вихід відповідають цілому цілому типу вашої мови.
- Введення та вихід можуть бути задані у будь-якому зручному форматі .
- Прийнятна або повна програма, або функція. Якщо функція, ви можете повернути вихід, а не надрукувати його.
- Стандартні лазівки заборонені.
- Це код-гольф, тому діють усі звичайні правила гольфу, і найкоротший код (у байтах) виграє.