Изменить: я буду публиковать более новую версию этого вопроса в 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