1013 数素数 (20分)

令 P
​i
​​ 表示第 i 个素数。现任给两个正整数 M≤N≤10
​4
​​ ,请输出 P
​M
​​ 到 P
​N
​​ 的所有素数。
输入格式:

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

输出从 P
​M
​​ 到 P
​N
​​ 的所有素数,每 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

这题当时就是运行超时,想了很久,才发现这里检测很严,在给定1—10000范围内,第一万个素数恰好是104729,所以给定的范围i不能太大。

#include<iostream>
#include<math.h>
using namespace std;
bool judge(int n)//求素数模板
{if (n < 2) return false;for (int i = 2; i <= sqrt(n); i++){if (n % i == 0) return false;}return true;
}
int main()
{int m, n, count = 0, j = 0;//count记录素数个数,j用来控制换行,10个换一行cin >> m >> n;for (int i = 0; i <= 104729; i++){if (judge(i))//判断素数{count++;//记录加1if (count >= m && count <= n)//在给定空间内{if (j == 0)cout << i;//第一个数不为空格else if (j % 10 == 0 && j != 0)cout << endl << i;//换行else cout << " " << i;j++;}//取消下面注释可以查看第一万个素数大小。//if (count == 10000)//{//    cout << i;//}}}
}

下面是柳神的代码

#include <iostream>
#include <vector>
using namespace std;
bool isprime(int a) {for (int i = 2; i * i <= a; i++)if(a % i == 0) return false;return true;
}
int main() {int M, N, num = 2, cnt = 0;cin >> M >> N;vector<int> v;while (cnt < N) {if (isprime(num)) {cnt++;if (cnt >= M) v.push_back(num);}num++;}cnt = 0;for (int i = 0; i < v.size(); i++) {cnt++;if (cnt % 10 != 1) printf(" ");printf("%d", v[i]);if (cnt % 10 == 0) printf("\n");}return 0;
}

C++学习之路 | PTA乙级—— 1013 数素数 (20分)(精简)相关推荐

  1. C++学习之路 | PTA乙级—— 1057 数零壹 (20 分)(精简)

    1057 数零壹 (20 分) 给定一串长度不超过 10 ​5 ​​ 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N ...

  2. C++学习之路 | PTA乙级—— 1027 打印沙漏 (20 分)(精简)

    1027 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 所谓"沙漏形状",是指每行输出奇数个 ...

  3. C++学习之路 | PTA乙级—— 1012 数字分类 (20分)(精简)

    1012 数字分类 (20分) 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A ​1 ​​ = 能被 5 整除的数字中所有偶数的和: A ​2 ​​ = 将被 5 除后余 1 ...

  4. C++学习之路 | PTA乙级—— 1007 素数对猜想 (20分)(精简)

    1007 素数对猜想 (20分) 让我们定义d ​n ​​ 为:d ​n ​​ =p ​n+1 ​​ −p ​n ​​ ,其中p ​i ​​ 是第i个素数.显然有d ​1 ​​ =1,且对于n> ...

  5. C++学习之路 | PTA乙级—— 1084 外观数列 (20 分)(精简)

    1084 外观数列 (20 分) 外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, - 它从不等于 1 的数字 d 开始,序列的第 n ...

  6. C++学习之路 | PTA乙级—— 1082 射击比赛 (20 分)(精简)

    1082 射击比赛 (20 分) 本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军:谁差得最远,谁就是菜鸟.本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟.我 ...

  7. C++学习之路 | PTA乙级—— 1068 万绿丛中一点红 (20 分)(精简)

    1068 万绿丛中一点红 (20 分) 对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点 ...

  8. C++学习之路 | PTA乙级—— 1063 计算谱半径 (20 分)(精简)

    1063 计算谱半径 (20 分) 在数学中,矩阵的"谱半径"是指其特征值的模集合的上确界.换言之,对于给定的 n 个复数空间的特征值 { a ​1 ​​ +b ​1 ​​ i,⋯ ...

  9. C++学习之路 | PTA乙级—— 1048 数字加密 (20 分)(精简)

    1048 数字加密 (20 分) 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 ...

最新文章

  1. load balancer 配置参考
  2. iOS开发-UITableView顶部图片下拉放大
  3. c#资源管理器【转】
  4. Ubuntu9.10安装常用软件
  5. WCF4.0 –- RESTful WCF Services (1) (入门)
  6. 同步/异步移动文件列表框选中的文件
  7. 包装设计中文字字体的logo设计要注意什么
  8. Python 分析国庆热门旅游景点,告诉你哪些地方好玩、便宜、人又少!
  9. 前后端分离php还有优势,前后端分离优缺点
  10. oracle数据库重启命令是什么
  11. 【codevs 1329】东风谷早苗
  12. 转帖 分享代码自动生成
  13. VG验证码识别框架2.2 免费识别验证码
  14. guzzlehttp/guzzle使用
  15. 504服务器无响应,什么是504网关超时错误(以及如何解决)? | MOS86
  16. 使用浏览器访问Socket服务器
  17. pandas相关函数sort_values、字符串处理、index、merge、数据合并cancat、groupby分组统计
  18. Android 蓝牙Hid开发
  19. 关于UNITY中System.Drawing引用失败的处理方法
  20. 【开发工具】IntelliJ中高效重构的 10 个快捷方式

热门文章

  1. 论文浅尝 | 基于知识图谱 Embedding 的问答
  2. 【数据挖掘】数据挖掘和数据分析基础
  3. SpringBoot整合Dubbo+Zookeeper进行分布式搭建系统
  4. jdbcTemplate小用总结
  5. String, StringBuffer, StringBuilder之间的区别
  6. 渲染上下文Rendering Context
  7. twisted 安装时,安装顺序为 zope.interface -twisted
  8. 开发者账号申请 真机调试 应用发布
  9. 在 Mac OS X Lion 下修改 Hosts 的四种方法
  10. opacity:0.99;