Chỉnh sửa: Tôi sẽ sớm đăng một phiên bản mới hơn của câu hỏi này meta-golf
. Ở lại toiled!
Chỉnh sửa # 2: Tôi sẽ không còn cập nhật thử thách nữa, nhưng sẽ để nó mở. Các meta-golf
phiên bản có sẵn ở đây: /codegolf/106509/obfuscated-number-golf
Lý lịch:
Hầu hết các số có thể được viết chỉ với 6 ký hiệu khác nhau:
e
(Hằng số của Euler)-
(Phép trừ, không phủ định)^
(Lũy thừa)(
)
ln
(Logarit tự nhiên)
Ví dụ: bạn có thể chuyển đổi số ảo i
bằng phương trình này:
(e-e-e^(e-e))^(e^(e-e-ln(e^(e-e)-(e-e-e^(e-e)))))
Mục tiêu:
Cho bất kỳ số nguyên nào k
thông qua bất kỳ phương tiện hợp lý nào, hãy đưa ra biểu diễn ngắn nhất có thể của số đó chỉ bằng 6 ký hiệu đó.
Ví dụ:
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)"
Ghi chú:
- Kết thúc số ngoặc đơn đối với tổng số lượng ký tự.
ln(
chỉ được tính là 1 ký tự.- Mọi thứ khác được tính là 1 ký tự.
n^0=1
- Thứ tự các hoạt động áp dụng
- Ngoặc nhân lên là chấp nhận được, ví dụ
(2)(8)=16
,2(5)=10
vàeln(e)=e
. ln e
không hợp lệ, bạn phải làmln(e)
ln(eeee)^ln(ee)
ngắn hơn so ln(eeeeeeeeeeeeeeee)
với 16
ln(ee...e)
) là cách tốt nhất để miêu tả tích cực. Chỉnh sửa: không, không phải.ln(e^(ln(eeeee)ln(eeee)))
tốt hơn cho 20