样例解释:1013 数素数 (20分)
立志用更少的代码做更高效的表达
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
解题思路
本题的核心考点为:筛选法求某一区间的素数。
说明:筛选法可求某一数字区间的所有数字是否为素数, 且时间复杂度极低。
应用场景: 打表。 事先定义数组,利用筛选法,求得该数组所有数字下标是否为素数。 为接下来的判断操作做准备。
理解筛选法后,本题就很好做了,只需要输出相应区间即可
注意: 数组要开的大一些, 第四个样例规模非常大。
类型题——>1007 素数对猜想
代码实现
#include<bits/stdc++.h>
#define Max 1000005
using namespace std;
int vis[Max];
void Screen() {vis[0] = vis[1] = 1;for(int i = 2; i <= sqrt(Max); i++) for(int j = i*2; j <= Max; j+= i) vis[j] = 1;}int main() {Screen();int a, b; cin>>a>>b;int num = 0, num1 = 0;for(int i = 0; i < Max; i++) if(vis[i] == 0) {++num; //判断区间的 if(num>=a && num<=b) {++num1; //够10个就换行 if(num1 != 1) putchar(' ');cout << i; if(num1==10 && num!=b) {num1 = 0; putchar('\n');} } }return 0; }
每日一句
他日若遂凌云志,敢笑黄巢不丈夫。
样例解释:1013 数素数 (20分)相关推荐
- C++学习之路 | PTA乙级—— 1013 数素数 (20分)(精简)
1013 数素数 (20分) 令 P i 表示第 i 个素数.现任给两个正整数 M≤N≤10 4 ,请输出 P M 到 P N 的所有素数. 输入格式: 输入在一行中给 ...
- 1013 数素数 (20 分)(c语言)
令 Pi 表示第 i 个素数.现任给两个正整数 M≤N≤104,请输出 PM 到 PN 的所有素数. 输入格式: 输入在一行中给出 M 和 N,其间以空格分隔. 输出格式: 输出从 PM 到 ...
- PAT乙类1013 数素数 (20 分)
一.题目 令 Pi表示第 i 个素数.现任给两个正整数 M≤N≤10^4,请输出 PM到 PN的所有素数.输入格式: 输入在一行中给出 M 和 N,其间以空格分隔.输出格式: 输出从 PM到 P ...
- 1013 数素数 (20分)
输入样例: 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 # -*- encodi ...
- 【PAT乙级】1013 数素数 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805309963354112 朴素写法 #include<cstdi ...
- PAT 1013 数素数 (20)
题目 /*1013. 数素数 (20)令Pi表示第i个素数.现任给两个正整数M <= N <= 10^4,请输出PM到PN的所有素数.输入格式:输入在一行中给出M和N,其间以空格分隔.输出 ...
- 1013. 数素数 (20)
令Pi表示第i个素数.现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数. 输入格式: 输入在一行中给出M和N,其间以空格分隔. 输出格式: 输出从PM到PN的所有素数 ...
- 1013. 数素数 (20)-PAT乙级真题
令Pi表示第i个素数.现任给两个正整数M <= N <= 10^4,请输出PM到PN的所有素数. 输入格式: 输入在一行中给出M和N,其间以空格分隔. 输出格式: 输出从PM到PN的所有素 ...
- pat数素数 20 c语言,PAT乙级C语言1013 数素数
1013 数素数 (20 分) 令 Pi表示第 i 个素数.现任给两个正整数 M≤N≤10的4次方,请输出 PM到 PN的所有素数. 输入格式: 输入在一行中给出 M 和 N,其间以空格分隔. 输出 ...
最新文章
- mysql unsigned zerofill_Mysql中Unsigned和Zerofill数据型的使用(细节也很重要啊)
- 转 sklearn: TfidfVectorizer 中文处理及一些使用参数
- CentOS下添加新硬盘并分区格式化
- 把项目从VS2005升级到VS2013
- Linux应用程序设计之网络基础编程
- 第4章-无人车UGV模型分析
- 数据扩张:数据的杠杆作用
- Linux集群服务知识点总结及通过案例介绍如何实现高性能web服务
- ios 开发证书导出p12文件_开发者在上传企业签名的应用到后,做到如下几点
- 边缘计算架构_更灵活的自动化系统架构、通信和编程——在自动化领域部署边缘计算...
- [深度学习] Pytorch中RNN/LSTM 模型小结
- java自动gc_具有Java 7中自动资源管理功能的GC
- eclipse 插件打包发布
- MSSQL获取指定日期的SQL语句
- 记一个有趣的Java OOM!
- AutoCADDCL对话框设计示例八
- Linux 中的旧扣簧键盘(Bucklespring 键盘)声音
- 5GNR终端理论峰值速率计算
- css 滤镜 filter 属性
- 局域网限速软件_除了Teamviewer,这些优秀的远程软件你用了吗