休日の初日には、進入難易を書いた問題への解決策を提供します......
私は複雑にしたいこの質問の最初:エジプトタイプふるい、ふるいは......しかし、オイラーは、1E9のの配列を開きますか?非現実的。
あなたはユニークな分解定理と問題領域にdalaoソリューションが表示されるまで。
算術の基本定理は次のように表すことができる。いずれよりも大きい自然数1 Nを、Nが素数でない場合は、その後、Nは素数のユニークな製品の有限個に分解することができるN = ^ P1のA1 * P2 ^ A2 ^ * P3 A3 ..... * Pnの^ AN、P1 <P2 <P3 ...... <Pnのインデックスが正の整数AIである素数、。このような分解は、標準的な因数分解N.と呼ばれています これは、最初に与えられユークリッドによって証明されました。
- Baiduの百科事典
次いで、要求の対象が素数続く、次いでN、それを、それを分割し、最初の素数を見つけます。
N%最初の素数まさに= 0、限り、あなたは最初の数がnで割り切れることができますようオハイオ州首相を取捨選択することなく、することができます。
ACコード:
#include <ビット/ STDC ++ H> 使用して 名前空間STDを、 int型N、P。 INT メイン() { scanf関数(" %のD "、&N) 以下のために(int型 I = 2 iが++; iが<= N ) であれば(N%I == 0 ) { のprintf(" %d個"、N / I)。 リターン 0 ; } }