Pathfinderという名前の卓上RPGには、Sacred Geometryと呼ばれるキャラクターが取ることができる偉業があります。これにより、数学を実行する代わりに呪文を磨くことができます。これを使用すると、キャラクターは6面の特定のスキルのランクに等しいサイコロは、スペルレベルに基づいてテーブルを参照して、その3つの素数がそのスペルレベルの「素数」であるかどうかを判断し、次の方法で素数の1つを生成できるかどうかを計算します。ロールされたすべての数値に対して、加算、減算、乗算、および除算と括弧によるグループ化のいくつかの組み合わせを実行します。
スペルレベルごとの主定数の表は次のとおりです。
+-------------+-----------------+
| Spell Level | Prime Constants |
+-------------+-----------------+
| 1st | 3, 5, 7 |
| 2nd | 11, 13, 17 |
| 3rd | 19, 23, 29 |
| 4th | 31, 37, 41 |
| 5th | 43, 47, 53 |
| 6th | 59, 61, 67 |
| 7th | 71, 73, 79 |
| 8th | 83, 89, 97 |
| 9th | 101, 103, 107 |
+-------------+-----------------+
したがって、たとえば、キャラクターに5つのスキルランクがあり、4レベルの呪文を唱えている場合、5つの6面サイコロを振って、31、37、または41の値を計算できる必要があります。 6、6、4、3、1を振った場合、次の計算を実行して37の値を生成できます:(6×6)+(4 – 3)×1 = 37、または41の値を生成できます([6 + 6]×3)+ 4 + 1 = 41を実行します。その結果、彼らの呪文のキャストは成功します。
このプログラミングパズルの仕事は、スペルレベルとスキルランクの2つの入力パラメーターを使用して関数を記述し、スキルランクパラメーターと同じ数の6面ダイスを振って、(少なくとも)1つを生成できるかどうかを計算することです。 Spell Levelパラメータに関連付けられた主定数。次にブール値を出力します。
回答は、主にアルゴリズムの効率によってランク付けされ(スキルランクパラメーターが増加すると、ブルートフォースアルゴリズムが非常に迅速にスケーリングされると確信しています)、送信されたソースコードのサイズ(バイト単位)によってランク付けされます。