先来看一下百科中对素数的定义:
那么思路就是,用一个for循环,对2到sqrt(n)之间的整数进行遍历,依次对n进行整除,如果均无法除尽,则n为质数。
n为质数,那就加到质数之和中。
#include <iostream>
using namespace std;
int main() {
//求i-n以内的质数之和,i和n可以根据需要改变
int i=2,n = 100;
int sum = 0;
//布尔值,用来判断是不是
bool isPrimeNumber=false;
for (; i <= n; i++) {
isPrimeNumber = true;
for (int j = 2; j <= sqrt(i); j++) {
//流程控制:只要除得尽,就跳出这一层for循环
if (i % j == 0) {
isPrimeNumber = false;
break;
}
}
if (isPrimeNumber == true) {
//cout << i << endl; 可以输出i验证一下求出来的是不是质数
sum += i;
}
}
cout &l