7
pseudoprimesをゴルフしましょう!
はじめに/背景 で、最近の議論で暗号チャット私は議論するために/のヘルプ挑戦されたフェルマー素数判定テストとカーマイケル数を。このテストは、a^(p-1) mod p==1常に素数に当てはまるがp、常にコンポジットには当てはまらないという前提に基づいています。カーマイケル番号は、基本的にはフェルマートのテストで最悪の敵です。取得するために同時に素数にならないように選択aする必要がある番号です。が共素数でない場合、本質的には、自明ではない因子を見つけましたpa^(p-1) mod p!=1apそして、誰もが知っているように、因数分解は非常に難しい場合があります。特に、すべての要素が十分に大きい場合。これで、Fermatテストが実際にはあまり使用されない理由がよくわかります(より優れたアルゴリズムがあります)。これは、(セキュリティの観点から)防御者としてのあなたが同じような量の作業を行わなければならない数があるためです。攻撃者(つまり、数を因数分解します)。 これらの数値が魅力的である理由がわかったので、可能な限り最短の方法で数値を生成します。必要に応じて、生成したコードを記憶することができます。 カーマイケル番号は、OEISではA002997としても知られています。関連する課題はすでに ありますが、サイズではなく速度が最適化されているため、ここからのエントリは競争力がありません。同じ議論が逆の方向にも当てはまり、ここのエントリはサイズを優先して速度とトレードオフをする可能性があります。 仕様 入力 これは標準のシーケンスチャレンジなので、正または負でない整数nを入力として使用します。n必要に応じて、0または1のインデックスを付けることができます(指定してください)。 出力 出力は、必要にn応じて、-番目のカーマイケル番号または最初のnカーマイケル番号のいずれかになります(指示してください)。 仕様 整数xは、xが複合である場合にのみカーマイケル数であり、のすべての整数yについてgcd(x,y)=1、それを保持しy^(x-1) mod x==1ます。 誰が勝ちますか? これはcode-golfなので、バイトで最短のコードが優先されます!標準のIOと抜け穴のルールが適用されます。 テストケース 最初のいくつかのカーマイケル番号は次のとおりです。 561,1105,1729,2465,2821,6601,8911,10585,15841, 29341,41041,46657,52633,62745,63973,75361,101101, 115921,126217,162401,172081,188461,252601,278545, 294409,314821,334153,340561,399001,410041,449065, 488881,512461
9
code-golf
math
sequence
number-theory
primes
code-golf
string
code-golf
math
combinatorics
permutations
restricted-complexity
code-golf
array-manipulation
code-golf
number
sequence
code-golf
number
sequence
code-golf
binary-matrix
code-golf
math
tips
javascript
algorithm
code-golf
string
code-golf
number
sequence
code-golf
math
arithmetic
parsing
code-golf
number
sequence
primes
code-golf
string
ascii-art
geometry
integer
code-golf
geometry
code-golf
number
array-manipulation
code-golf
math
geometry
code-golf
number
sequence
arithmetic
integer
code-golf
string
kolmogorov-complexity
code-golf
number
code-golf
number
chess
code-golf
sequence
decision-problem
subsequence
code-golf
math
number
primes
code-golf
primes
permutations
code-golf
integer
probability-theory
statistics
code-golf
string
code-golf
sequence
decision-problem
parsing
board-game
code-golf
binary
graph-theory
code-golf
board-game
classification
tic-tac-toe
code-golf
ascii-art
polyglot
code-golf
date
code-golf
geometry