編集:この質問の新しいバージョンを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はすでにいくつかの穴を突いていますが、これらの穴では、「最短」の客観的基準を具体的な例なしで決定することは困難です。
—
魔法のタコUr
わからない高いものの一部、特に約20
—
ジュリアンLachniet
ln(eeee)^ln(ee)
ln(eeeeeeeeeeeeeeee)
16 より短い
提案の一言。これは、コードゴルフの挑戦よりもメタゴルフの挑戦としてもっと楽しいかもしれないと思います。一部のコードが常に最適な結果を生成することを実証するのは非常に難しいので、出力をどれだけうまくゴルフで答えるかを評価する方が良いかもしれません。
—
ポストロックガーフハンター
ln(ee...e)
)がポジティブを表現する最良の方法だと思います。編集:いいえ、そうではありません。ln(e^(ln(eeeee)ln(eeee)))
20の方が良い