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

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

30
指定された範囲間の素数の合計
aとの間の素数の合計を見つけるための最短コードを記述しますb(包括的)。 入力 aそして、b、コマンドラインまたは標準入力から撮影することができます(スペースは区切り) 1 <= a <= b <=10 8と仮定する 出力 合計を改行文字で印刷するだけです。 ボーナスポイント プログラムが複数の範囲を受け入れる場合(各行に合計を1つ印刷する)、余分なポイントを取得します。:)
27 code-golf  primes 

21
最も効率的かつ最短のコードでの最初のn個の素数のリスト[非公開]
ルールは簡単です: 最初のn個の素数は、(以下にプライムしないN)、標準出力に出力されなければならない(素数コード内で生成されるべきである)改行で区切ら プライムは、組み込み関数またはライブラリを介して生成することはできません。つまり、prime = get_nth_prime(n)、is_a_prime(number)、factorlist = list_all_factors(number)などの組み込み関数またはライブラリ関数の使用はあまり創造的ではありません。 スコアリング-たとえば、スコア = f([コード内の文字数])、O(f(n))はアルゴリズムの複雑さを定義します。nは検出した素数の数です。したがって、たとえば、O(n ^ 2)の複雑さを持つ300文字のコードがある場合、スコアは300 ^ 2 = 90000で、O(n * ln(n))を持つ300文字の場合、スコアは300 * 5.7 = 1711.13(簡単にするため、すべてのログを自然なログと仮定しましょう) 既存のプログラミング言語を使用して、最低スコアを獲得 編集: O(f(n))の「n」が何であるかについての混乱のため、問題は「最初の1000000素数」の検索から「最初のn個の素数」に変更されました、nは見つける素数の数です(素数の検索はここでの問題と問題の複雑さは、見つかった素数の数に依存します) 注:複雑さの混乱を明確にするために、「n」が見つけた素数で、「N」が見つかったn番目の素数である場合、nに関する複雑さはNとNは同等ではない、つまりO(f(n))! = O(f(N)) as、f(N)!= constant * f(n)and N!= constant * n、n番目の素関数は線形ではないことがわかっているので、素数の複雑さは、「n」で簡単に表現できる必要があります。 Kibbeeが指摘したように、このサイトにアクセスしてソリューションを確認できます(ここに、古いgoogleドキュメントリストがあります) これらをソリューションに含めてください- プログラムの複雑さ(些細でない場合は基本的な分析を含む) コードの文字長 最終的に計算されたスコア これは私の最初のCodeGolfの質問です。上記のルールに間違いや抜け穴がある場合は、指摘してください。

17
無限に多くの素数
ユークリッド以来、私たちは素数が無限にあることを知っています。引数は矛盾によるものです:有限数しかない場合、たとえば場合、は、これらの素数なので、その素因数分解はリストにない新しい素数を生成する必要があります。したがって、有限の素数のみが存在するという仮定は誤りです。p1,p2,...,pnp1,p2,...,pnp_1,p_2,...,p_nm:=p1⋅p2⋅...⋅pn+1m:=p1⋅p2⋅...⋅pn+1m:=p_1\cdot p_2\cdot...\cdot p_n+1 ここで、が唯一の素数であると仮定しましょう。上記のメソッドは、新しい(可能な)プライムとしてを生成します。メソッドを再度適用すると、得られ、次に、次にとなり、両方ともおよびは新しい素数などです。合成数を取得する場合は、最も新しい素数を取得します。これにより、A000945が生成されます。2222+1=32+1=32+1=32⋅3+1=72⋅3+1=72\cdot 3+1=72⋅3⋅7+1=432⋅3⋅7+1=432\cdot 3\cdot 7+1=432⋅3⋅7⋅43+1=13⋅1392⋅3⋅7⋅43+1=13⋅1392\cdot 3\cdot 7\cdot 43+1=13\cdot 139131313139139139 チャレンジ 素数と整数与えられた場合、次のように定義されたシーケンスの番目の項を計算します。p1p1p_1nnnnnnpnpnp_n pn:=min(primefactors(p1⋅p2⋅...⋅pn−1+1))pn:=min(primefactors⁡(p1⋅p2⋅...⋅pn−1+1))p_n := \min(\operatorname{primefactors}(p_1\cdot p_2\cdot ... \cdot p_{n-1} + 1)) これらのシーケンスは、ユークリッドマリンシーケンスとして知られています。 例 以下のためのp1=2p1=2p_1 = 2: 1 2 2 3 3 7 4 43 5 13 6 53 7 5 8 6221671 9 38709183810571 用p1= 5p1=5p_1 = 5(A051308): 1 …

8
A083569:m + nが素数になるように最小のmが先に発生しない
次のように1インデックス付きシーケンスを定義します。 A083569(1) = 1 A083569(n)ここで、nはより大きい1整数m+nです。これは、素数であるなど、以前に発生していない最小の整数m です。 あなたの仕事は取り入れてn戻ることA083569(n)です。 n A083569(n) 1 1 2 3 3 2 4 7 5 6 6 5 7 4 8 9 9 8 10 13 11 12 12 11 13 10 14 15 15 14 16 21 17 20 18 19 19 18 20 17 より多くのテストケースはこちらにあります。OEISの元のシーケンスはここにあります。 …

22
弱い素数ですか?
最も近い他の素数がそれより小さい場合、素数は弱いです。同点がある場合、素数は弱くない。 たとえば、71は素数ですが、75は複合であるため、73は弱い素数です。 仕事 入力として2より大きい素数を指定すると、それが弱い素数であるかどうかを判断するコンピューターコードを記述します。これは標準の決定問題であるため、2つのケース(weakおよびなどnot weak)ごとに2つの一意の値を出力する必要があります。 これはコードゴルフなので、タグの標準ルールが適用されます。 OEIS 以下は、最初の47の弱い素数です。 3, 7, 13, 19, 23, 31, 43, 47, 61, 73, 83, 89, 103, 109, 113, 131, 139, 151, 167, 181, 193, 199, 229, 233, 241, 271, 283, 293, 313, 317, 337, 349, 353, 359, 383, 389, 401, 409, 421, 433, 443, 449, …

21
これらの数字のみを含む最小のn桁の素数
n数字を含む最小の素数を生成する必要があり、リストに指定された数字のみが含まれますk。 例: 入力: 4 1 2 そのために4は、数字1を含む最小の素数を生成する必要があり、その素数には数字とのみが含まれている必要があります2。 出力: 2111 入力: 10 0 4 7 出力: 4000000007 入力: 6 5 5 5 5 5 5 5 5 5 5 1 5 5 5 5 5 5 5 5 5 5 出力: 115151 入力は常に指定した形式であることが保証でき、無効な入力(入力が1桁であるなどn、k。 入力に対するそのような解決策が存在しない場合、プログラムは次のいずれかを実行できます。 印刷する banana エラーを投げる 永遠に走る 他に何か これはcode-golfなので、最短のコードを目指してください。 入力は、指定した任意の形式にすることができます。たとえば、入力を次のいずれかにしたい場合は問題ありません。 …

6
プライムの連結
チャレンジ: 数字のみを含む文字列が与えられます。あなたの仕事は、文字列を形成するために連結しなければならない素数の最小数を出力することです。これが不可能な場合、output 0。 テストケース: 入力->出力: 252 -> 3 235 -> 2 92 -> 0 31149 -> 2

2
ニューラルネットワークは素数を認識できますか?
バックグラウンド 素数性の認識は、(人工)ニューラルネットワークにはあまり適していないと思われます。ただし、普遍近似定理では、ニューラルネットワークは任意の連続関数を近似できるため、特に、希望する有限サポート関数を表すことができるはずです。それで、最初の100万の数の中のすべての素数を認識してみましょう。 より正確には、これはプログラミングWebサイトであるため、2 ^ 20 = 1,048,576まで進みましょう。このしきい値を下回る素数の数は82,025または約8%です。 チャレンジ すべての20ビット整数を素数または素数として正しく分類できるニューラルネットワークはどれくらい小さいでしょうか? この課題のために、ニューラルネットワークのサイズは、それを表現するために必要な重みとバイアスの総数です。 詳細 目標は、単一の明示的なニューラルネットワークのサイズを最小化することです。 ネットワークへの入力は、整数の個々のビットを含む長さ20のベクトルになり、0と1で表されるか、-1と+1で表されます。これらの順序は、最上位ビットが先か、最下位ビットが先です。 ネットワークの出力は単一の数値である必要があります。これにより、カットオフ値を超えると入力が素数として認識され、同じカットオフ値を下回ると入力が素数でないと認識されます。たとえば、正は素数を意味し(負ではなく負)、あるいは0.5より大きい場合は素数を意味します(そして0.5未満は素数ではありません)。 ネットワークは、すべての2 ^ 20 = 1,048,576の入力で100%正確でなければなりません。上記のように、この範囲には82,025個の素数があることに注意してください。(常に「素数ではない」を出力すると、92%正確になります。) 標準的なニューラルネットワークの用語では、これはおそらくオーバーフィッティングと呼ばれます。言い換えれば、あなたの目標は素数を完全に過剰適合させることです。他の言葉としては、「トレーニングセット」と「テストセット」が同じであることです。 この課題では、「トレーニング可能な」または「学習可能な」パラメータの数は考慮されていません。実際、ネットワークにはハードコーディングされた重みが含まれている可能性が高く、以下の例は完全にハードコーディングされています。代わりに、すべての重みとバイアスがパラメーターと見なされ、カウントされます。 ニューラルネットワークをトレーニングまたは生成するために必要なコードの長さはスコアに関係ありませんが、関連するコードを投稿することは確かにありがたいです。 ベースライン ベースラインとして、82,025個のすべての素数を1,804,551個の合計重みとバイアスで「記憶」することができます。 以下のこのコードには、実例、テストコード、既知のニューラルネットワークライブラリを使用したニューラルネットワークの動作定義、「ハードコード」(または少なくとも「トレーニングされていない」)ニューラルネットワーク、スコアの実際の測定。 import numpy as np bits = 20 from keras.models import Sequential from keras.layers import Dense from sympy import isprime # Hardcode some weights weights = …

6
プライム封じ込め番号(スピード版)
これはシーケンスA054261です nnn素数封じ込め番号番目は、第含ま最小数であるnnnのサブストリングとして素数を。たとえば、番号235235235は、サブストリングとして最初の3つの素数を含む最小の番号であり、3番目の素数格納番号になります。 最初の4つの素数封じ込め番号があることを把握することは簡単です222、232323、235235235および235723572357、しかし、それはより面白いです。次の素数は11であるため、次の素数包含番号は235711235711235711でが、プロパティで最小の数として定義されているため、112357112357112357です。 ただし、11を超えると実際の課題が発生します。次の主な包含番号は113257113257113257です。この番号では、部分文字列11と 13が重複していることに注意してください。番号3も番号と重複しています13。 次の番号は、その前にある番号のすべての基準を満たし、さらに1つのサブストリングを持つ必要があるため、このシーケンスが増加していることを証明するのは簡単です。ただし、n=10との結果が示すように、シーケンスは厳密には増加していませんn=11。 チャレンジ あなたの目標は、できるだけ多くの素数の収容番号を見つけることです。プログラムは、2から始まり上に向かって、順序付けられた形式で出力する必要があります。 ルール あなたは許可されていますハードコード素数に。 素数包含番号をハードコーディングすることはできません(2唯一の例外)、またはチャレンジを簡単にするマジック番号。どうぞよろしくお願いします。 任意の言語を使用できます。コードを実行する環境を準備するためのコマンドのリストを含めてください。 CPUとGPUの両方を自由に使用でき、マルチスレッドを使用できます。 得点 公式の採点は私のラップトップ(dell XPS 9560)から行われます。あなたの目標は、5分以内にできるだけ多くの素数の包含番号を生成することです。 スペック 2.8GHz Intel Core i7-7700HQ(3.8GHzブースト)4コア、8スレッド。 16GB 2400MHz DDR4 RAM NVIDIA GTX 1050 Linux Mint 18.3 64-ビット これまでに見つかった数字と、最後に追加された素数: 1 => 2 ( 2) 2 => 23 ( 3) 3 => 235 ( 5) 4 …

16
おおよそのブラン定数
ブルンの定数は、の逆数の和に値である双子プライムペア(1/pと1/(p+2)場所pとp+2の両方プライムある)収束。およそ1.902160583104です。 正の整数を指定するとN、ペアの両方の素数が未満である双子素数ペアの逆数を合計することによりブルン定数を近似し、近似Nを出力します。 ルール N 言語の表現可能な範囲内の正の整数になります。 出力は、浮動小数点演算の不正確さによる潜在的な問題を無視して、言語の浮動小数点実装の制限内で、真の値に対して可能な限り正確でなければなりません。ご使用の言語が任意精度の演算に対応している場合、少なくともIEEE 754の倍精度演算と同じ精度でなければなりません。 あるいは、一貫した明確な形式で正確な端数を出力できます。 複数のツインプライムペア(例えば中プライム表示された場合は5、両方の一部(3, 5)と(5, 7))、その逆数寄与合計にそれぞれの時間。 テストケース 2 -> 0 6 -> 0.5333333333333333 10 -> 0.8761904761904762 13 -> 0.8761904761904762 100 -> 1.3309903657190867 620 -> 1.4999706034568274 100000 -> 1.67279958482774

22
再帰的な文字列置換
タスク 3つの文字列を指定してA, B, C、Binの各インスタンスがでA再帰的に置換された出力文字列を生成するプログラムまたは関数を記述しCます。再帰的に置換とは、各ステップで重複しないBinのすべてのインスタンスA(左から右に貪欲に選択)がに含まれなくなるCまで置換を繰り返すことを意味BしAます。 入出力 I / Oにはデフォルトのメソッドを使用できます。 文字列には、印刷可能なASCII文字のみが含まれます(また、それらのいずれかが含まれることもあります)。 B一方で、空の文字列になることはありませんAし、Cかもしれません。 文字列はプレーンテキストとみなされます。たとえば、扱うことはできません B。、正規表現パターンとして。 入力の一部の組み合わせは終了しません。これらの場合、プログラムは何でもできます。 テストケース これらは次の形式です。 A/B/C\nOutput Hello, world!/world!/PPCG Hello, PPCG Uppercase is up/up/down Uppercase is down ababababa/aba/ccc cccbcccba delete/e/{empty string} dlt {empty string}/no/effect {empty string} llllrrrr/lr/rl rrrrllll +-+-+-+/+-+/+ + ababababa/aba/bada badabbadbada abaaba/aba/ab abb ((())())())/()/{empty string} ) 終了しない例: grow/ow/oow loop/lo/lo
25 code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

17
+1素数のカウント
自然数のように定義pがある+1素数自然数のN場合、pは素数と標準バイナリ表現である(すなわち、先頭のゼロなし)P(すなわち、前置、付加又は挿入)を添加することによって得ることができます単一の1からnの標準バイナリ表現。 たとえば、17のバイナリ表現は10001 2です。添加することにより形成することができる別個の自然数1に10001 2がある110001 2または49、101001 2または41、100101 2または37、および100011 2または35。 これらのうち、41と37は素数であるため、17には2つの+1素数があります。 仕事 厳密に正の整数受け入れプログラムまたは機能書き込みN入力及び印刷またはリターンとして別個の数+1素数のNを。 入力と出力は、整数か、その10進数または単項文字列表現でなければなりません。 標準のコードゴルフ規則が適用されます。 テストケース Input: 4 Output: 0 Input: 1 Output: 1 Input: 17 Output: 2 Input: 33 Output: 3 Input: 553 Output: 4 Input: 3273 Output: 5 Input: 4145 Output: 6 Input: 4109 Output: 7 Input: 196869 Output: 8

22
バートランドの素数
ベルトランの仮説は、すべての整数のためと述べているN≥1少なくとも一つの素数が存在したpように、N <P≤2nのは。n <4000のこの定理を検証するために、4000のケースをチェックする必要はありません。Landauのトリックは、 2, 3, 5, 7, 13, 23, 43, 83, 163, 317, 631, 1259, 2503, 5003 すべてが素数です。これらの各数値はその前身の2倍未満であるため、各区間{y:n <y≤2n}にはこれらの素数の少なくとも1つが含まれます。 この一連の数字は、バートランド素数(OEIS A006992)であり、次のように定義されています。 a(1) = 2 a(n) = largest prime below 2a(n-1) チャレンジ このシーケンスを実装します。あなたは書くことができます nを指定した関数またはプログラムがa(n)(0または1のインデックス)を返します。 nを指定した関数またはプログラムは、このシーケンスの最初のn(またはn-1またはn + 1)エントリを返します。 無限のリスト、ストリーム、ジェネレーター、または同様の言語の同等物。

22
偶数は素数になることができますか?
シーケンス 誰でも知っているのは、偶数の素数だけです2。うん しかし、でn連結されると素数n-1になる特定の偶数があります。 まず1第一に、10素数ではないので、リストにありません。2(21)および3(32)でも同様です。しかし、4作品のため43素数であるので、シーケンスの最初の番号ですa(1) = 4。次の番号その作品(いずれも6(65)も8(87)の仕事は)ある10ので、109素数であるので、a(2) = 10。それから22、2221がプライムなので、さらに束をスキップしa(3) = 22ます。等々。 明らかに、このシーケンス内のすべての項は偶数です。これは、n連結された奇数が偶数にn-1なる(に3変わるなど32)ため、素数にならないためです。 これは、OEISのシーケンスA054211です。 チャレンジ nこのシーケンスのどこかに収まる入力番号(つまり、n連結されたn-1素数)が与えられると、このシーケンスでの位置を出力します。0インデックスまたは1インデックスのいずれかを選択できますが、提出の際にどちらを指定してください。 ルール 入力と出力は、言語のネイティブ整数型に適合すると仮定できます。 入力と出力は、任意の便利な形式で指定できます。 完全なプログラムまたは機能のいずれかが受け入れられます。関数の場合、出力する代わりに出力を返すことができます。 可能であれば、他の人がコードを試すことができるように、オンラインテスト環境へのリンクを含めてください! 標準的な抜け穴は禁止されています。 これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。 例 以下の例は1から始まります。 n = 4 1 n = 100 11 n = 420 51

20
プライムへのステップを登る
Numberphileの最新ビデオである13532385396179のタイトルは、正の整数に対する次の関数fの固定小数点です。 してみましょうnは正の整数です。素因数分解を通常の方法で記述します。たとえば、60 = 2 2・3・5で、素数は昇順に記述され、1の指数は省略されます。次に、指数を行に戻し、すべての乗算記号を省略して、数値f(n)を取得します。[...]たとえば、f(60)= f(2 2・3・5)= 2235。 (上記の定義は、5つの$ 1,000問題の問題5- ジョンH.コンウェイから取られています) なお、F(13532385396179)= F(13・53 2・3853・96179)= 13532385396179。 仕事 n入力として正の合成整数を受け取り、出力しますf(n)。 もう一つの例 48 = 2 4・3、したがってf(48)= 243。 テストケース その他のテストケースはこちらから入手できます。 4 -> 22 6 -> 23 8 -> 23 48 -> 243 52 -> 2213 60 -> 2235 999 -> 3337 9999 -> 3211101

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