Половинній експоненціальна функція є один , який , коли в складі з собою дає експонентну функцію. Наприклад, якщо f(f(x)) = 2^x
, тоді це f
було б напівекспоненціальною функцією. У цьому виклику ви будете обчислити конкретну напівекспоненціальну функцію.
Зокрема, ви обчислите функцію від невід'ємних цілих чисел до негативних цілих чисел із такими властивостями:
Монотонно зростає: якщо
x < y
, значитьf(x) < f(y)
Принаймні напівекспоненціальні: Для всіх
x
,f(f(x)) >= 2^x
Лексикографічно найменше: серед усіх функцій з перерахованими вище властивостями виведіть ту, яка мінімізується
f(0)
, яка, враховуючи цей вибір, зводить до мінімумуf(1)
, потімf(2)
тощо.
Початкові значення цієї функції для входів 0, 1, 2, ...
:
[1, 2, 3, 4, 8, 9, 10, 11, 16, 32, 64, 128, 129, 130, 131, 132, 256, 257, ...]
Ви можете вивести цю функцію будь-яким із наведених нижче способів, як функція, так і як повна програма:
Візьміть
x
як вхід, вихідf(x)
.Візьміть
x
як вхід, виведіть першіx
значенняf
.Нескінченно вивести все
f
.
Якщо ви хочете взяти x
та вивести f(x)
, x
має бути індексовано нуль.
Це код гольфу - найкоротший код у виграші байтів. Стандартні лазівки , як завжди, заборонені.