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