在本教程中,我们将讨论一个程序,以查找1到n之间的质数之和。
为此,我们将获得n的值。我们的任务是找到质数直到给定值,将它们加起来并打印出它们的和。
#include <bits/stdc++.h> using namespace std; //计算素数之和 int sumOfPrimes(int n) { bool prime[n + 1]; memset(prime, true, n + 1); for (int p = 2; p * p <= n; p++) { if (prime[p] == true) { for (int i = p * 2; i <= n; i += p) prime[i] = false; } } int sum = 0; for (int i = 2; i <= n; i++) if (prime[i]) sum += i; return sum; } int main() { int n = 11; cout << sumOfPrimes(n); return 0; }
输出结果
28