タグ付けされた質問 「primes」

素数の特定と操作に関する課題

10
昇順行列
「昇順行列」は、任意の要素がそれぞれの行と列で以前に使用されていない最小の利用可能な要素である整数の無限行列(0を含む)です。 | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

30
非プライム番号の検索
あなたがそれを受け入れることを選んだなら、あなたの挑戦は、数字が以下の基準を満たしている場合にtrueまたはfalse(またはyesとnoの同様の意味のある表現)を返す関数をコードゴルフすることです: 整数自体は素数ですOR 隣接する整数のいずれかが素数 たとえば、次 の入力7 Trueを返します。 の入力8もTrueを返します。 の入力は15Falseを返します。(14、15、16のいずれも素数ではありません) 入力は2 ^ 0から2 ^ 20までの数値に対して正しく返される必要があるため、符号の問題や整数のオーバーフローを心配する必要はありません。

30
プライムパワーからパワーを回復
多くの人がこれを持ちたいと思っているようですので、今ではこの挑戦の続編です! 定義:素数はp nの形式で表現できる自然数です。pは素数で、nは自然数です。 タスク:プライムパワーp n > 1の場合、パワーnを返します。 テストケース: input output 9 2 16 4 343 3 2687 1 59049 10 得点:これはcode-golfです。バイト単位の最短回答が優先されます。

10
以前の合成番号
シーケンス定義 a(n)次のように正の整数のシーケンスを作成します。 a(0) = 4 a(n)最初の項以外の各項は、次を満たす最小の数値です。a )a(n)は合成数、 b)a(n) > a(n-1)および c)a(n) + a(k) + 1はそれぞれの合成数です0 <= k < n。 だから私たちはで始まりa(0) = 4ます。次のエントリはでa(1)なければなりません9。それらは合成できない5か7、合成できないため、合成できない6か合成でない8ため、合成できないか、合成できないから6+4+1=11です8+4+1=13。最後に、、9+4+1=14これは複合a(1) = 9です。 次のエントリはであるa(2)必要があります。これは、両方のコンポジット10よりも大きい最小の番号だからです。910+9+1=2010+4+1=15 次のエントリについては、それらは複合ではないため両方11と13も出ています。複合ではない12ため12+4+1=17です。複合ではない14ため14+4+1=19です。したがって、15のでシーケンスの次の用語である15複合材であり15+4+1=20、15+9+1=25及び15+10+1=26従って、全て各複合ありますa(3) = 15。 このシーケンスの最初の30の用語は次のとおりです。 4, 9, 10, 15, 16, 22, 28, 34, 35, 39, 40, 46, 52, 58, 64, 70, 75, 76, 82, 88, 94, …

16
プライムの力
この課題のために、素数の素数(PPP)は、素数の素数に対する素数として定義できる数として定義されます。例えば、9は3 ^ 2として表現できるため、PPPです。一方、81はPPPではありません。これは、3 ^ 4としてしか表現できず、4が素数ではないためです。最初のいくつかのPPPは次のとおりです:4、8、9、25、27、32、49、121、125、128、169、243、289、343 ...これはOEISシーケンスA053810です あなたのタスク: 入力整数nに対して、n番目のPPP(1インデックス付きまたは0インデックス付き)のどちらか好きな方を返す/出力するプログラムまたは関数を作成します。 入力: 合理的な方法で受け取った0〜1,000の整数。 出力: 入力によって示されるインデックスのPPP。 テストケース: これらは1インデックスであるため、プログラムが0インデックスの入力を受け取る場合、指定された入力-1に対して同じ出力に到達する必要があります。 3 -> 9 6 -> 32 9 -> 125 得点: このコードゴルフは、バイト単位の最低スコアが勝ちです!

3
ミラー・ラビンの強い擬プライム
非負の整数Nを指定すると、すべての最初のN素数の基底に対する強い擬似素数である最小の奇数の正の整数を出力します。 これは、OEISシーケンスA014233です。 テストケース(1インデックス付き) 1 2047 2 1373653 3 25326001 4 3215031751 5 2152302898747 6 3474749660383 7 341550071728321 8 341550071728321 9 3825123056546413051 10 3825123056546413051 11 3825123056546413051 12 318665857834031151167461 13 3317044064679887385961981 のテストケースはN > 13、これらの値がまだ見つかっていないため利用できません。シーケンス内の次の用語を見つけることができた場合は、必ずOEISに提出してください! ルール Nインデックスがゼロまたはインデックスが1の値を選択できます。 ソリューションが言語の整数範囲内で表現可能な値(つまりN = 12、符号なし64ビット整数まで)でのみ動作することは許容されますが、ソリューションは、言語が任意の長さの整数をサポートするという前提で、理論的には入力に対して動作する必要があります。 バックグラウンド 正の整数は、奇数のx形式x = d*2^sで記述できますd。dそして、商が2で割り切れなくなるまで2でs繰り返し除算nすることで計算できます。これdはその最終商でありs、2が除算される回数ですn。 正の整数nが素数の場合、フェルマーの小定理は次のように述べます。 任意の有限体 Z/pZ(どこにp素数がある)でも、の平方根1は1and -1(または同等に1and p-1)のみです。 これら3つの事実を使用して、次の2つのステートメントのいずれかが素数に対して真でなければならないことを証明できますn(d*2^s = n-1およびrはの整数です[0, s))。 …

9
セミプライムの因子を明らかにする最小の乗数
与えられた半素数 N、最小の正の整数見つけるMの二つの要因の一つのバイナリ表現ようにNがバイナリ表現に見出すことができるN * Mを。 例 半素数N = 9799を考えてみましょう。 1から始まるmの異なる値を試します。 m | N * m | N * m in binary ---+--------+------------------ 1 | 9799 | 10011001000111 2 | 19598 | 100110010001110 3 | 29397 | 111001011010101 4 | 39196 | 1001100100011100 5 | 48995 | 1011111101100011 6 | 58794 | …

15
最初のx個のプライムの中の加算プライム
加法素数の定義: ちょうど2つの除数が呼び出されている番号プライム番号。 素数でその桁数も素数である数は、加法素数と呼ばれます 仕事: 整数を与えx、最初の中のすべての添加の素数を計算するxと、素数2最初の素数と添加素数の両方とみなされています。数値は基数10で表されます。 ルール: 出力は、最初のx素数の中のすべての加法素数で構成されます 0 < x < 151、この課題のために、機能的な目的のために 加法素数はすべて整数であるため、小数は許可されず(例:2ではなく、出力2.0する必要があります)、小数として表示してはなりません。 例: 10 -> 2 3 5 7 11 23 29 説明: 最初の10個の素数は2 3 5 7 11 13 17 19 23 29であり2 3 5 7 11 23 29、それぞれの桁数の素数のみを持ち、それぞれ2,3,5,7,2,5,11であるため、加法素数です。 の説明に従ってexample 1、他のテストケースは次のようになります。 2 -> 2 3 25 -> 2 3 …

1
ノスタルジックな素数ジェネレーター[終了]
閉じた。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 閉じた3年前。 単純なドキュメントまたはWebページを開くと、コンピューターにあるすべての貧弱なリソースを食い尽くしていたため、非常に遅いという古き良き時代を覚えていますか?そして、今日、プロセッサが数百倍高速であり、数千倍のメモリにアクセスしているにもかかわらず、同じことをするのはさらに遅くなりますか? 現在のドキュメントビューアーおよび同様のアプリケーションでの肥大化の影響をシミュレートするには、より強力なマシンで実行したときに目に見えるパフォーマンスの問題があるプログラムを作成します。 すべての人に共通のタスクを持たせるには、それを素数ジェネレータにします。 このプログラムは、2から始まる新しい素数の連続する素数を印刷しなければなりません。これは永久に(またはメモリ不足になるまで)する必要があります。このような: 2 3 5 7 11 13 17 各行の印刷には、人間が認識できる程度の遅延が必要です。 この遅延は、プログラムが実行されているマシンが高速になるほど長くなります。マシンが速いほど、プログラムは遅くなります。 主観的になる可能性があるため、正確なベンチマークを指定しませんが、2台のマシンのパフォーマンスに大きな違いがある場合、2台の異なるマシンで人間が知覚できる速度の違いがあるはずです。 プログラムの速度は、これまでに作成されたすべての既存のマシンで単調に減少する必要はありません。これは特定するのが難しく、検証するのはさらに困難です。マシン間で大幅に異なるパフォーマンスと見なすことができるものについて、出場者の常識を信じており、それで十分です。 また、正確な上限または下限を指定しませんが、妥当な制限内である必要がありますので、2行を印刷する間で日数または年数を指定しないでください。 Eniacから現代までのすべてで実行する必要はありませんが、たとえば2つの特定のCPUタイプでのみ動作し、特定の1つのCPUの名前を具体的に検出することは許可されません低速または高速で実行されます。 コードはコンパイラーまたはインタープリターのバージョンに依存するべきではありません。同じバージョンのコンパイラ/インタープリターが低速マシンと高速マシンの両方にインストールされている場合、またはバイナリ/バイトコードが1台のマシンでコンパイルされてから2台の異なるマシンで実行されている場合でも動作します。 プログラムの動作原理を説明してください。結果を再現するのは難しいため、回答の有効性はメソッドの実行可能性に依存する場合があります。 残念ながらこのサイトは「プログラミングパズルとコードゴルフ」ではなく、単に「コードゴルフ」に過ぎないため、最も短いコードが勝ちます。

5
XORプライムを見つける
では、この課題 XNORによってもたらされる、我々はXOR乗算を実装するように求めていました。この課題の目標は、最初のnXORプライムを見つけることです。XORプライムは、次の定義からわかるように、通常のプライムに非常に似ています。 素数の定義: 1とそれ自体の乗算を除き、2つの数値の乗算では形成できない1より大きい正の数。 XOR Primeの定義: 1とそれ自体のXOR乗算を除き、2つの数値のXOR乗算では形成できない1より大きい正の数。XORプライムはoeisシーケンスA014580を構成することに注意してください。 XOR乗算は、キャリーなしのバイナリロング乗算として定義されます。xnorのchallengeでXOR乗算の詳細を見つけることができます。 入力: 整数n。 出力: 最初のnXORプライム。 500以下のXORプライムは次のとおりです。 2 3 7 11 13 19 25 31 37 41 47 55 59 61 67 73 87 91 97 103 109 115 117 131 137 143 145 157 167 171 185 191 193 203 211 213 229 …

2
Prime Nerd Sniping Pattern
一年で一番長い日-余分な時間を無駄にするものがあります... 概要 これは人気コンテストでもグラフィック出力チャレンジでもないことに注意してください。65,536個のゼロと1の文字列を出力するだけです。質問の下部にあるスタックスニペットは、これを256 x 256の白黒画像として表示し、公式スコアを計算します。その後、画像を保存し、コードと一緒に回答にアップロードできます(文字列出力が30,000文字のStack Exchange回答に収まらないため)。 得点 画像のスコアは、個々のピクセルのスコアの合計です。個々の画素のスコアは、それぞれについてサブスコアの合計である非直交、プライム距離である画素反対色獲得される画素。このような各画素についてサブスコアは、1/pここでp素数の距離です。 この質問の文脈では、用語には次の定義があります。 非直交:ピクセルは、同じ行になく、同じ列にない場合、スコアリングされるピクセルに非直交です。 素数距離:ピクセルは、正確に素数であるユークリッド距離で区切られている場合、スコアリングされるピクセルから素数距離にあります。特に、距離はトロイダルに測定された最小距離です。左上のピクセルはsqrt(2)右下のピクセルからの距離です(4つのエッジすべてがラップします)。 反対の色:値が1になった場合、ピクセルはスコアリングされるピクセルと反対の色です。つまり、最初のピクセルが0で2番目のピクセルが1であるか、最初のピクセルが1で2番目のピクセルが0です。 Stack Snippetには、画像のスコアリング方法を示すサンプルコードが含まれていますが、最適化や効率的なアプローチは含まれておらず、最終画像のスコアリングが一貫して行われるようにコードを修正するだけです。 コードに誤りがある場合は、コメントまたはチャットでお知らせください。 JavaScriptは、この特定の課題に答えるのに必ずしも最適な言語であるとは限りません。スニペットコードは、より高速なアプローチに関する手がかりを意図的に与えていないことに注意してください。既存の回答ですでに実証されている効率のみが導入されます。 可視化 スコアリングピクセル スコアリングピクセルの分布の直感的な感覚のために、ここ(紫色)は256 x 256の画像のピクセル(128、128)の非直交プライムピクセルです。 ランダム画像 これは、Python 3の回答例からランダムに生成された画像です。138,267.64のスコアがあり、勝つために何かを与えます。 入力 コードは入力を必要としません。 出力 コードは、黒と白の256 x 256画像のピクセルを表す65,536個の0と1の文字列を出力する必要があります。数字は、区切り文字のない連続した文字列でなければなりません。ファイルに出力すると、コピーと貼り付けが簡単になりますが、これはユーザー次第です。 コードは、文字列をコピーしてStack Snippetに貼り付けることができる限り、他の有用な情報も出力する場合があります。たとえば、最高の文字列をファイルに出力し、最高のスコアを定期的にSTDOUTに出力して、ユーザーが検索を停止するタイミングを選択できるようにすることができます。 スタックスニペット Sp3000が指摘したように、スニペットはスコアを計算するのに10分かかっていましたが、意図的に非効率的なリファレンス実装であっても、少し遅すぎます。Sp3000で提案されているスコアリングのピクセルオフセットの事前計算の改善を編集しましたが、スコアの計算には数秒かかります。 コードスニペットを表示 canvas = document.getElementById('canvas') ctx = canvas.getContext('2d') scoreArea = document.getElementById('scoreArea') pastedData = document.getElementById('pastedData') timeout = 0 …

10
(最大)5つの素数の合計
テレンスタオは最近、ゴールドバッハの推測の弱い形式を証明しました!それを活用しましょう! 奇数の整数を指定すると、最大5つの素数の合計としてn > 1書き込みnます。好きなように入力して、好きなように出力してください。例えば、 def g(o): for l in prime_range(o+1): if l == o: return l, for d in prime_range(l+1): for b in prime_range(d+1): if l+d+b == o: return l,d,b for c in prime_range(b+1): for h in prime_range(c+1): if l+d+b+c+h == o: return l,d,b,c,h 入力として整数を取り、合計がである出力として整数のリストを返すSageコードですn。タオの定理により、これは常に終了します! 入力 奇数の整数n。入力方法を決めるのはあなたですが、それがおかしい場合は説明してください。 出力 むしろオープンエンド。リストを返します。文字列を出力します。1つ、いくつか、またはすべてをGimmeします。がらくたをスタック上(GS、Pietなど)または予測可能な方法で連続した(到達可能な)メモリブロック(BFなど)に置きます。後者の場合、出力について説明します。すべての場合において、返す/印刷する/ whathaveyouはn、6未満の部分からなる素数へのパーティションの単純な表現でなければなりません。 …
16 code-golf  math  primes 

11
大まかな数値を生成する
バックグラウンド のすべての素因数が厳密にを超える場合n、数はB-rough と記述することができます。nB チャレンジ 2つの正の整数Bとを指定するとk、最初のk B大まかな数値を出力します。 例 ましょうf(B, k)最初のk B大まかな数を含むセットを返す関数になります。 > f(1, 10) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 > f(2, 5) 1, 3, 5, 7, 9 > f(10, 14) 1, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59

16
数が連続する素数の合計であるウェイの数
1より大きい整数を指定すると、1つ以上の連続する素数の合計として表現できるウェイの数を出力します。 被加数の順序は関係ありません。合計は単一の数値で構成できます(したがって、素数の出力は少なくとも1になります)。 これはcode-golfです。標準ルールが適用されます。 シーケンス自体OEIS A054845を含む関連情報およびシーケンスについては、このOEIS wikiを参照してください。 テストケース 2 => 1 3 => 1 4 => 0 5 => 2 6 => 0 7 => 1 8 => 1 10 => 1 36 => 2 41 => 3 42 => 1 43 => 1 44 => 0 311 => 5 1151 …

30
最初のn個の素数の合計を計算する
とても明白なので、この挑戦​​がまだここにないことに驚いています。(または、私はそれを見つけることができなかったと誰もがそれを複製としてマークすることに驚いています。) 仕事 非負の整数与えられた場合、最初のn個の素数の合計を計算して出力します。nnnnnn 例1 以下のために、最初の5つの素数です。n=5n=5n = 5 2 3 5 7 11 これらの数値の合計はであるため、プログラムは28を出力する必要があります。2+3+5+7+11=282+3+5+7+11=282 + 3 + 5 + 7 + 11 = 28282828 例2 以下のために、「最初のゼロ」素数はどれもありません。そして、無数の合計は-もちろん-0です。n=0n=0n = 0000 ルール たとえば、数値が素数かどうかをチェックするために、組み込みを使用できます。 これはcode-golfなので、各言語の最小バイト数が勝ちです!
15 code-golf  primes 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.