問題タブ [primes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Pythonで最初のN個の素数を見つけるには
私はプログラミングの世界に不慣れです。N個の素数を生成するためにPythonでこのコードを書いていました。ユーザーは、出力する素数の総数である N の値を入力する必要があります。このコードを書きましたが、目的の出力がスローされません。代わりに、N 番目の数まで素数を出力します。
例: ユーザーは N = 7 の値を入力します。
望ましい出力: 2、3、5、7、11、13、19
実際の出力: 2、3、5、7
親切なアドバイス。
haskell - 素数のストリームを出力するこの Haskell コードのチャンクを説明してください
このコードのチャンクを理解するのに苦労しています:
誰かが私のためにそれを分解できますか? 再帰があることは理解していますが、それがこの例の再帰がどのように機能するかを理解できない問題です。
algorithm - 乱数
確かに1024ビット長の乱数をすばやく生成するにはどうすればよいですか?
python - これをよりpythonicにすることはできますか?
少し前に、この (本当に) 単純なプログラムに出くわしました。最初の x 素数を出力するだけです。私は尋ねるのが恥ずかしいです、それをより「pythonic」にする方法、つまり(より)読みやすくしながら凝縮する方法はありますか?スイッチング機能は問題ありません。私は読みやすさだけに興味があります。
ありがとう
primes - 最初のn個の素数を計算するには?
関数の可用性を想定しますis_prime
。変数 n が正の整数に関連付けられているとします。最初の n 個の素数の合計を計算するために必要なステートメントを記述します。合計は、変数の合計に関連付ける必要があります。
注: is_prime
パラメータとして整数を取り、True
その整数が素数である場合にのみ戻ります。さて、私はis_prime
このような関数を書きました:
ただし、n==0 以外は機能します。すべての整数に対して機能するように修正するにはどうすればよいですか? 最初のn個の素数の合計を取得する関数を作成する方法と、正の数だけでなく、可能なすべての入力に対して機能するis_prime関数を変更する方法の両方の答えを見つけようとしています。
c# - 素数の合計、難問
それで、30分間髪を抜いた後、私はこの問題の助けを求めてSOに来ることにしました。
10未満の素数の合計は2+3 + 5 + 7=17です。
200万未満のすべての素数の合計を求めます。
今、私は問題をどのように行うかを知りたくありません-それは簡単です-そして特に答えではありません。コードを実行したときに、コードが正しい答えを表示しない理由を知りたいです(C#):
に実行するとn <= 10
、必要に応じてを出力します17
。手作業で計算しやすいものに実行すると、正解が出力されます(n <= 20
->など77
)。
しかし、これを実行すると、666667333337
間違った出力が表示されます。
何か案は?
java - JavaBigInteger素数
BigInteger型の乱数を生成しようとしています。これは、指定した最小値と最大値の間にあります。
BigInteger.probablePrime(int bitlength、random)を知っていますが、ビット長が出力された素数の最大/最小値にどのように変換されるか、または変換されるかどうかはわかりません。
ありがとう、Steven1350
algorithm - 最もコンパクトなマッピング n → isprime(n) を制限 N まで作成する方法は?
当然、bool isprime(number)
クエリできるデータ構造が存在するためです。
私は最良のアルゴリズムを、範囲 (1, N] のメモリ消費量が最も少ないデータ構造を生成するアルゴリズムであると定義します
。ここで、N は定数です。
私が探しているものの単なる例: 私はすべての奇数を表すことができますたとえば、指定された範囲の数値 (1, 10] の場合、3 から始まります。1110
次の辞書はもっと絞り込めますよね?いくつかの作業で 5 の倍数を削除することはできますが、1、3、7、または 9 で終わる数値はビット配列に含まれている必要があります。
問題を解決するにはどうすればよいですか?
java - ハッシュコード計算のための賢明な素数は何ですか?
Eclipse 3.5 には、Java hashCode() 関数を生成する非常に優れた機能があります。たとえば、生成されます(少し短縮されます:)
(クラスにさらに属性がある場合は、result = prime * result + attribute.hashCode();
追加の属性ごとに繰り返されます。int の場合、.hashCode() は省略できます。)
これは問題ないように見えますが、プライムの選択は 31 です。これはおそらく、Java String の hashCode 実装から取られています。これは、ハードウェア乗算器の導入後、長い間使用されなくなったパフォーマンス上の理由から使用されていました。ここでは、i と j の小さな値に対して多くのハッシュコードの衝突があります。たとえば、(0,0) と (-1,31) は同じ値です。小さな値が頻繁に発生するので、これは Bad Thing(TM) だと思います。String.hashCode の場合、「Ca」や「DB」など、同じハッシュコードを持つ短い文字列も多数見つかります。大きな素数を取る場合、素数権を選択すればこの問題はなくなります。
私の質問: 選択するのに適した素数は何ですか? それを見つけるためにどのような基準を適用しますか?
これは一般的な質問であるため、i と j の範囲を示したくありません。しかし、ほとんどのアプリケーションでは、比較的小さな値が大きな値よりも頻繁に発生すると思います。(大きな値を持っている場合、素数の選択はおそらく重要ではありません。) 大きな違いはないかもしれませんが、より良い選択はこれを改善するための簡単で明白な方法です。Commons lang HashCodeBuilderも、奇妙なことに小さい値を提案します。
(明確化: これはWhy does Java's hashCode() in String use 31 as a Multiplier? の複製ではありません。なぜなら、私の質問は JDK の 31 の歴史には関係なく、新しいコードでより良い値になるものについてです同じ基本的なテンプレートを使用します.そこにある答えはどれもそれに答えようとしません.)
multithreading - アーランとプロセス
私はErlangを初めて使用し、現在JoeArmstrongの本「並行プログラミング」の章を読んでいます。プロセスのリストを実行して、数値が素数であるかどうかを計算しようとしています(単純な方法)。しかし、私のコードはプロセスがないかのように実行されます。どちらの方法も同じ期間です。私はどこが間違っていますか?
shell.erl:
ファイルprime.erl:
ありがとう、
ピエール