4
Crazy Librarianの興味深いPrime Permutation Index Number Generator
プライムシーケンスコードで1日を節約し、数学の先生はそれを気に入ってくれました。あまりにも多くのことで、司書(あなたの上司)に新たな挑戦がもたらされました。おめでとうございます。図書館員が数学教師に再び感銘を与えることができるように、ソリューションをコーディングすることができます。 10を底とするNの自然数のシーケンスから始めます 0、1、2、3、4、5、6 ... 0およびを除外すると1、このシーケンスのすべての数値は、P、P 2、3、5、7、11、13 ... またはコンポジット、C 4、6、8、9、10、12、14、15、16、18、20、20 ... 司書思想から数の小数展開に整数数字を挿入する方法に反映P、数学教師ではなく関数作成G(x、y)は数取りxからNと1 <= x <= 9し、番号をyからCとインサートxにしy一意の数字のみを選択して、左から右の順に、すべての位置の10進数展開。 たとえば、G(3,14)は314, 134, 143です。しかし、G(1,14)があるだけで114, 141、あなたが前に付加または挿入するかどうかのように、1中に14、同じ番号が114生成されます。 数学の先生は、あなたがの番号を取得する前に、これらの置換を行う必要があるだろう何回不思議に思っPを、あなたがかかった場合、x昇順に。数学の先生は、これを数値の複合プライムインデックスと呼び、CPI(y)と書きました。 たとえば、4:二回しか行われる必要が14, 41あるため、41素数であるので、CPI(4)があります2。ただし、素数になる前に86回行う必要があるため、CPI(8)はです。18, 81, 28, 82, 38, 83836 あなたの仕事は、入力番号を指定して、このComposite-Prime Indexを出力するコードを書くことです。 入力 単一の整数yような、yであるC、関数の引数、STDIN、または同等介して入力。 計算のためyに、通常の整数範囲に収まると仮定できます(たとえば、上限を2 31 -1 と仮定)。 Cにyない場合の動作は未定義です。 出力 上記のように計算された結果のComposite-Prime Indexは、2つの例外を除き、STDOUTまたは同等のものに出力されます。 場合は非常に最後の順列は(すなわち、追加9するにはy)首相、出力結果は1です-1。以下に展開する例はy=14です。 順列がない場合(つまり、G(x、y)がすべてのCのサブセットである場合1 <= x <= 9)、output 0。以下に展開する例はy=20です。 例 y -> operations …