栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

2030:【例4.16】找素数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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
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 < 
 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/511943.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号