プロジェクトオイラーの問題10問題の解決

素数の和

10以下の素数の和は2 + 3 + 5 + 7 = 17です。

200万以下の全ての素数の合計を検索します。

素数的和

すべての素数10未満と2 + 3 + 5 + 7 = 17です。

すべての素数が少ない200万より検索します。

問題解決のためのアイデア

ミルク下にない、特に良いアイデアは、これらの素数を求め、その後、以下200万よりも、すべての素数を列挙するために計算されたと考えることができます。

次のようにコードは次のとおりです。

#include <bits/stdc++.h>
using namespace std;
bool check(int a) {
    if (a < 2) return false;
    for (int i = 2; i*i <= a; i ++)
        if (a % i == 0) return false;
    return true;
}
long long sum;
int main() {
    for (int i = 2; i < 2000000; i ++)
        if (check(i))
            sum += i;
    cout << sum << endl;
    return 0;
}

回答を掲載しています\(142 913 828 922 \)

おすすめ

転載: www.cnblogs.com/quanjun/p/12323004.html