一起创业网-为互联网创业者服务

程序怎么计算素数之和

计算素数之和的程序可以通过以下步骤实现:

输入一个整数:

首先,程序需要接收用户输入的一个整数。

判断输入范围:

检查输入的整数是否在有效范围内(例如,小于200且大于0)。如果不在范围内,输出"error"并结束程序。

初始化变量:

初始化一个变量用于存储素数的和,以及一个变量用于统计当前数能被整除的次数。

判断素数:

使用嵌套循环来判断每个小于输入整数的数是否为素数。外层循环从2迭代到输入整数减1,内层循环从2到输入整数的平方根检查是否能整除。如果能整除,就将统计次数加1并立即退出内层循环。如果统计次数仍然为0,说明该数不能被2到其平方根之间的任何数整除,所以它是素数,将其累加到素数和中。

输出结果:

最后,输出小于输入整数的所有素数的和。

```c

include

include

using namespace std;

bool isPrime(int n) {

if (n <= 1) return false;

if (n == 2) return true;

if (n % 2 == 0) return false;

for (int i = 3; i <= sqrt(n); i += 2) {

if (n % i == 0) return false;

}

return true;

}

int main() {

int a;

cout << "请输入一个小于200的数: ";

cin >> a;

if (a <= 0 || a >= 200) {

cout << "error" << endl;

return 1;

}

int sum = 0;

for (int i = 2; i < a; i++) {

if (isPrime(i)) {

sum += i;

}

}

cout << "小于"<< a << "的所有素数之和为: " << sum << endl;

return 0;

}

```

代码解释:

isPrime函数:

用于判断一个数是否为素数。它首先检查数是否小于等于1,如果是则返回false。接着检查数是否为2(唯一的偶数素数),如果是则返回true。然后检查数是否为偶数,如果是则返回false。最后,使用一个for循环从3开始到该数的平方根检查是否能整除,如果能整除则返回false,否则返回true。

main函数:

程序入口。首先接收用户输入的整数a,并检查其是否在有效范围内。如果在有效范围内,则初始化素数之和变量sum为0,并使用一个for循环从2到a-1判断每个数是否为素数,如果是则累加到sum中。最后,输出素数之和。

这个程序可以有效地计算小于给定整数的所有素数之和,并且通过输入验证确保了输入的合法性。