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

数学とコンピュータサイエンスでは、アルゴリズムは、関数を計算するための明確に定義された命令の有限リストとして表現される効果的な方法です。アルゴリズムは、計算、データ処理、および自動推論に使用されます。

7
数十億の範囲の数値を因数分解するための適切なアルゴリズムは何でしょうか?
私は現在Pythonを学んでおり、私が学んでいることを適用する理由を私に与えるために、プロジェクトオイラーのいくつかの問題にひびが入っています。 私は現在、3番目の数値です。これは、その数値の最高の素因数を決定することです。 私はおそらく2つのアルゴリズムが必要であると推定しました。1つは素数性を決定するアルゴリズムで、もう1つは数の要因を見つけることです。 だから私はウィキの記事を読んでいます。使用するのに最適なアルゴリズムとは何か、それをどのように処理するかを決定すること。 しかし、ハードコアな数学ベースのプログラミングを実行してからしばらく経ち、どこかから始めるのに苦労しています。 私は、Fermatの因数分解法を使用してTrial by Divisionを含めることを検討していましたが、RSAをクラックするために複雑すぎないようにしたいのですが、問題に適した2つのアルゴリズムがあり、そこに私の質問があります。 素数性のテスト/目の前の問題に適した数の因数分解にどのアルゴリズムを使用しますか? 編集する あなたの回答と洞察をありがとうございました。彼らが最も役に立ちました。アドバイスを通じて、またはオイラーの経験を通じて、役立つものすべてに賛成しました。私が正しいとマークしたものは、正しい方向へのプッシュである出発点として適切な場所を与えてくれたので、単に最も有用でした。もう一度ありがとう=)

1
パターンを文字列に挿入するすべての可能な方法を見つける
私はしばらくの間この問題について考えていましたが、再帰的な解決策しか見つけることができませんが、それを行うための動的なプログラミング方法があると感じていますが、それを理解することはできません。これは私が知らない有名な問題ですか? Q:文字列とパターンを指定して、パターンの文字を(順番に)文字列と照合する一意の方法の数を返します。 明確化:一致を見つけるには、パターンの最初の文字を取り、文字列内で最初に一致する文字を見つけ、次にパターンの2番目の文字を取り、以前に一致した後の文字列の最初の一致文字と一致します。キャラクター。 例1(4件一致): 文字列:DABBCDDE パターン:ABD 可能な方法(太字はパターンが文字列と一致する場所です): D AB BC D DE D A B B C D DE D AB BCD D E D A B B CD D E 例2(0件一致): 文字列:ABC パターン:BCA (B、Cに一致し、文字列の最後にいる場合、前の文字に戻って一致することはできません) 再帰的なアプローチでは、パターン(pIndex)だけでなく、文字列(sIndex)の現在のインデックスを追跡するメソッドがあります。string [sIndex]がpattern [pIndex]と一致する場合は、メソッドを再度呼び出して、sIndexとpIndexを増やします。そうでない場合-sIndexを増やして、もう一度一致を見つけるようにしてください。再帰呼び出しの戻り値が加算されるため、メソッドは合計数を返します。(一致は1を追加、一致は0を追加) 基本ケース: pIndexがパターンの長さより大きい場合、0を返します。 sIndexが文字列の長さより大きい場合、1を返します(一致が見つかりました!) 他にどんな解決策がありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.