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

PAT

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

PAT

令Pi表示第i个素数。现任给两个正整数M <= N <= 10^4,请输出PM到PN的所有素数。

输入格式:

输入在一行中给出M和N,其间以空格分隔。

输出格式:

输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。

输入样例:

5 27

输出样例:

11 13 17 19 23 29 31 37 41 43
47 53 59 61 67 71 73 79 83 89
97 101 103

分析:vector中保存第M到第N个素数,用cnt标记输出了多少个,如果当前已经输出的个数为10的倍数,则输出一个空行~
#include
using namespace std;

int isprime(int a) {// 素数判断 
	if(a <= 1) return 0;
	for(int i = 2; i * i <= a; i++)
		if(a % i == 0) return 0;
	return 1;
}

int main() {
	int a,b;//两个正整数a,b 
	cin >> a >> b;
	int cnt = 0;//当前输出的素数次序 
	int temp = 0;//若能整除10 输出换行 
	for(int i = 2;i < 1000001;i++){
		if(isprime(i)){
			cnt++;
			if(cnt >= a && cnt < b){//规范输出 
				temp++;
				if(temp % 10 == 0) cout << i << endl;
				else cout << i << " ";
			}
			if(cnt == b) {
				cout << i;
                break;
			}
		}
	}
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/512725.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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