2030:【例4.16】找素数

2030:【例4.16】找素数


时间限制: 1000 ms         内存限制: 65536 KB
提交数: 7847     通过数: 4817

【题目描述】

输出正整数a到b之间的所有素数。

【输入】

输入a,b。

【输出】

由小到大,输出a到b之间的所有素数。每个数占一行。

【提示】

【数据范围】

对于所有数据,1≤a≤b≤20000。

分析:

1.先使用循环遍历a到b的所有数字,然后在这个循环体里面进行素数判断;

2.素数:

3.再使用一个循环判断一个数 i 是否是素数,当然,我们很自然会想到从2开始循环到 i-1,看i对其取模是否等于0,等于0就不是素数。但其实我们可以把这个范围进一步缩小,从1到 根号i 即可(这个可以自己想一下,或者去百度如何判断素数)。

4.设置一个bool变量,初始值为真,如果判断不是素数,就将其置为假,然后符合条件的数进行输出。

#include<iostream>
using std::cout;
using std::cin;
using std::endl;

int main()
{
	int a = 0, b = 0;
	cin >> a >> b;

	for (int i = a; i <= b; ++i)
	{
		bool x = true;
		for (int j = 2; j * j <= i; ++j)
		{
			if (i % j == 0)
			{
				x = false;
				break;
			}
		}

		if (x&&i!=1)
		{
			cout << i <<endl;
		}
	}
}

 

猜你喜欢

转载自blog.csdn.net/LWX3289765163/article/details/121340208
今日推荐