C++输出一个范围内的所有素数

记录学习过程4 

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
	int min, max, i, j, k ;

//输入判断素数的范围

LABEL: {
	cout << "请输入判断素数范围的下限:";
	cin >> min;
	cout << "请输入判断素数范围的上限:";
	cin >> max; }

//求值范围只能为正整数

	if (min < 1)
	{
		min = 1;
	}

//若输入范围有误,让用户重新输入

	while (max <= min)
	{
		cout << "范围上限必须大于范围下限" << endl << "请重新输入:" << endl;
		goto LABEL;
	}

//输出结果

	cout << "您所给出范围内的素数有:" << endl;

	for (i = min; i < max; i++)     //遍历范围内所有整数
	{	bool flag = 1;              //表明当前整数是否素数的标志

	if (i == 1 || i == 2)           //如果1和2在范围内,直接输出
	{
		flag = 1;
		}
	else                //从2开始遍历到这个数的平方根,都除这个数,如果可以被整除,则不是素数
	{
		k = static_cast<int>(sqrt(i));
		for (j = 2; j <= k; j++)
		{
			if ((i % j) == 0)
			{
				flag = 0;
				break;
			}
		}
	}

//如果是素数,则输出
	if (flag)
		cout << i << endl;
	}
return 0;
}
请输入判断素数范围的下限:60
请输入判断素数范围的上限:10
范围上限必须大于范围下限
请重新输入:
请输入判断素数范围的下限:10
请输入判断素数范围的上限:60
您所给出范围内的素数有:
11
13
17
19
23
29
31
37
41
43
47
53
59

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值