Mathemaniaの仕様:
Mathemaniaコードのすべての部分は、数字で始まり2ます。から、2次の操作を実行できます。
- e:べき乗。このコマンドのデフォルトは、2乗です。
- f:階乗。このコマンドのデフォルトでは、数値に単一の階乗(- using f on 2 = 2! = 2)が使用されます。
- r:ルート。このコマンドのデフォルトは、数値の平方根です。
- c:天井機能。
- l:フロア機能。
Mathemaniaで数値を生成するには、これらのコマンドを文字列にまとめる必要があります。これらのコマンドは、数値に対して左から右に実行されます2。
例:
ef = (2^2)! = 4! = 24
rl = floor(sqrt(2)) = floor(1.4...) = 1
er = sqrt(2^2) = sqrt(4) = 2
efrrc = ceil(sqrt(sqrt((2^2)!)))
      = ceil(sqrt(sqrt(24)))
      = ceil(sqrt(4.89...))
      = ceil(2.21...)
      = 3
e、fおよびrコマンド(これもで始める余分Mathemaniaコマンドによって変更することができる2改変された機能の後にブラケットを配置し、その内部Mathemaniaコマンドを配置することによって、異なる累乗、階乗と根を生成するために、その「ベース」数として)。
たとえば、代わりにそれを乗の数をキューブに、あなたがのためにコマンドを入れることができ3た後にeそうように:
e(efrrc) -> cube a number, "efrrc" = 3
注:目的のために、階乗コマンド(f)2は単一の階乗として開始します。あなたが行うのであればf(efrrc)、それは二重階乗はなく、トリプル階乗に評価されます。
用n-factorials(例えば、二重階乗= 2要因、三重階乗= 3-要因等)、塩基番号である数を乗じてn未満それ以上、およびnので、最終的な数ができなくなるまでに、以下より負または負にnなることなく減算され0ます。
例えば:
7!! = 7 * 5 * 3 * 1 = 105 (repeatedly subtract 2, 1 is the last term as
                           1 - 2 = -1, which is negative)
9!!! = 9 * 6 * 3 = 162 (repeatedly subtract 3, 3 is the last term as
                        3 - 3 = 0, which is 0)
どこにでも挿入でき、Mathemaniaによって単一の関数として扱われます。
e(efrrc)rc = ceil(sqrt(2^3))
           = ceil(2.82...)
           = 3
また、これらを相互にネストすることもできます。
e(e(e)) = e(4th power)
        = (2^4)th power
        = 16th power
Mathemaniaコードのインタープリターについては、ここをクリックしてください(乾杯、@ BradGilbertb2gills!)
仕事:
あなたの仕事はn、入力として正の整数が与えられると、実行されるとを返すMathemaniaプログラムを生成するプログラムを作成することnです。
ただし、生成するMathemaniaプログラムは、できる限り小さく(ゴルフで)する必要があり、最終スコアは、サンプルの生成されたMathemaniaプログラムのバイト数の合計(10,000〜の整数)によって決まります10,100。最も低いスコアが勝ちます。
ルールと仕様:
- あなたのプログラムを出力しなければならない、任意の正の整数の有効なMathemaniaプログラムが、唯一の番号が間10,000および10,100テストされます。
- 整数にならないMathemaniaプログラムを出力することはできません。その場合、プログラムは失格となります。
- コマンドe、fおよびr、これらの関数内のMathemaniaコード(たとえばe(efrrc)、efrrc関数内のコード)は、上の正の整数に評価される必要があり2ます。プログラムがこの規則に従わない場合、同様に失格となります。
- プログラムは、最新のラップトップで最大30分間で101個のテスト整数のいずれかに対してMathemaniaプログラムを返す必要があります。
- プログラムは、実行されるたびに整数に対して同じ解を返す必要があります。たとえば、プログラムに入力が与えられ、5出力する場合efrc、入力5が与えられるたびに出力する必要があります。
- 正の整数の解をハードコーディングすることはできません。
- 出力でゴルフの可能性を最大限に引き出すには、プログラムで任意の大きな整数を処理できる必要があります。あなたの言語がこれをサポートしていない場合は幸運ですが、それは要件ではありません。
これはmetagolfなので、最低スコアが勝ちます!
ef「スキップ」され、ef操作の前に結果を出力するだけのコードは許可されていますか?