편집 : 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)
@JulianLachniet은 아이디어를 좋아하지만 요청 된 순서의 처음 10-20 용어를보고 싶습니다. 설명을 위해 -10 ~ 10의 예를 들어보십시오. WheatWizard는 이미 몇 개의 구멍을 뚫었습니다. 이러한 구멍을 통해 "가장 짧은"의 객관적인 기준을 구체적인 예없이 결정하기는 어렵습니다.
—
Magic Octopus Urn
더 높은 것들, 특히 20에 대해서는 확실하지 않습니다.
—
Julian Lachniet
ln(eeee)^ln(ee)
ln(eeeeeeeeeeeeeeee)
16
단지 한마디의 제안. 나는 이것이 코드 골프 도전보다는 메타 골프 도전 으로 더 재미있을 것이라고 생각합니다 . 일부 코드는 항상 최적의 결과를 생성하므로 출력을 얼마나 잘 골프화하는지에 대한 답을 얻는 것이 좋습니다.
—
Post Rock Garf Hunter
ln(ee...e)
)이 긍정적 인 것을 묘사하는 가장 좋은 방법 이라고 생각합니다 . 편집 : 아니오, 아닙니다.ln(e^(ln(eeeee)ln(eeee)))