Изменить: я буду публиковать более новую версию этого вопроса в meta-golf
ближайшее время. Оставайтесь на связи!
Правка № 2: я больше не буду обновлять вызов, но оставлю его открытым. meta-golf
Версия доступна здесь: /codegolf/106509/obfuscated-number-golf
Фон:
Большинство чисел могут быть написаны только с 6 различными символами:
e
(Константа Эйлера)-
(Вычитание, а не отрицание)^
(Возведение)(
)
ln
(Натуральный логарифм)
Например, вы можете преобразовать мнимое число, i
используя это уравнение:
(e-e-e^(e-e))^(e^(e-e-ln(e^(e-e)-(e-e-e^(e-e)))))
Цель:
Для любого целого числа k
любым разумным способом выведите кратчайшее возможное представление этого числа, используя только эти 6 символов.
Примеры:
0 => "e-e"
1 => "ln(e)"
2 => "ln(ee)"
// Since - cannot be used for negation, this is not a valid solution:
// ln(e)-(-ln(e))
-1 => "e-e-ln(e)"
Примечания:
- Конечные скобки учитывают общее количество символов.
ln(
учитывается только как 1 символ- Все остальное считается за 1 символ.
n^0=1
- Порядок операций применяется
- Скобки умножение является приемлемым, например
(2)(8)=16
,2(5)=10
иeln(e)=e
. ln e
недействительно, вы должны сделатьln(e)
ln(eeee)^ln(ee)
короче, чем ln(eeeeeeeeeeeeeeee)
на 16
ln(ee...e)
) - лучший способ изобразить позитивы. Редактировать: нет, это не так.ln(e^(ln(eeeee)ln(eeee)))
лучше для 20