C++ 求100以内的素数之和 (c++经典程序实例教程 4)

先来看一下百科中对素数的定义:
 



那么思路就是,用一个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 << sum << endl;

	return 0;
}

最后结果应该是1060。


当然如果你要求的质数范围并不是0-100,而是其他范围,可以修改代码中变量i和n的值。

我是阿木呀,有任何问题可以私信沟通❤。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿木呀

创作不易,感谢鼓励,嘻嘻☺

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值