B1013 数素数(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

思考

这个问题是否需要筛法?
我觉得是需要的,因为10的4次方已经很大了,是素数的个数达到10的4次方。
算法笔记上说,筛法和非筛法都可以解决问题。
那么首先用非筛法试一下。
前100009个数有9593个素数。所以这里用不用筛法,都可以解决问题前1000009有78499个素数;
每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。
怎么办?这种输出形式。
给出第4个测试点答案错误的代码

#include<cstdio>
#include<cstring>
#include<cmath>
const int MAXN=100009;
int prime[MAXN], pNum = 0;
bool p[MAXN] = {0};
bool isPrime(int n){if(n<=1) return false;int sqr=(int)sqrt(1.0*n);for(int i=2;i<=sqr;i++){if(n%i==0) return false;}return true;
}void Find_Prime(){for(int i = 1; i<MAXN;i++){if(isPrime(i) == true){prime[pNum++] = i;p[i] = true;}}
}
int main(){Find_Prime();int M,N;int enter=0; scanf("%d %d", &M, &N);for(int i=M-1;i<N-1;i++){printf("%d",prime[i]);enter++;if(enter!=10){printf(" ");}else {printf("\n");enter = 0;}}printf("%d",prime[N-1]);
}

不断扩大打表范围
终于在扩大到
const int MAXN=110050;时候AC掉了,估计是最大的极限的素数10的4次方的。

转载于:https://www.cnblogs.com/lingr7/p/10292015.html

B1013 数素数(20分)相关推荐

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

    1013 数素数 (20分) 令 P ​i ​​ 表示第 i 个素数.现任给两个正整数 M≤N≤10 ​4 ​​ ,请输出 P ​M ​​ 到 P ​N ​​ 的所有素数. 输入格式: 输入在一行中给 ...

  2. 1013 数素数 (20 分)(c语言)

    令 Pi​ 表示第 i 个素数.现任给两个正整数 M≤N≤104,请输出 PM​ 到 PN​ 的所有素数. 输入格式: 输入在一行中给出 M 和 N,其间以空格分隔. 输出格式: 输出从 PM​ 到  ...

  3. 样例解释:1013 数素数 (20分)

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 令 P​i表示第 i 个素数.现任给两个正整数 M≤N≤10^​4 ,请输出 P​M到 P​N的所有素数. 输入 ...

  4. PAT乙类1013 数素数 (20 分)

    一.题目 令 P​i表示第 i 个素数.现任给两个正整数 M≤N≤10^4,请输出 PM到 PN的所有素数.输入格式: 输入在一行中给出 M 和 N,其间以空格分隔.输出格式: 输出从 P​M到 P​ ...

  5. 【PAT乙级】1013 数素数 (20 分)

    https://pintia.cn/problem-sets/994805260223102976/problems/994805309963354112 朴素写法 #include<cstdi ...

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

  7. pat数素数 20 c语言,PAT乙级C语言1013 数素数

    1013 数素数 (20 分) 令 P​i表示第 i 个素数.现任给两个正整数 M≤N≤10的4次方,请输出 PM到 PN的所有素数. 输入格式: 输入在一行中给出 M 和 N,其间以空格分隔. 输出 ...

  8. 牛客网 PAT 算法历年真题 1003: 数素数 (20)

    1003:数素数 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 令Pi表示第i个素数.现任给两个正整 ...

  9. PAT 1013 数素数 (20)

    题目 /*1013. 数素数 (20)令Pi表示第i个素数.现任给两个正整数M <= N <= 10^4,请输出PM到PN的所有素数.输入格式:输入在一行中给出M和N,其间以空格分隔.输出 ...

最新文章

  1. NLP(Natural Language Processing)
  2. Oracle PL/SQL编程之基础
  3. 黑火药跟黄火药的区别在哪里?
  4. Timus 1018 树形DP
  5. 第一次玩,试试手(标题)
  6. Maven依赖配置和依赖范围
  7. 【转载】这是我看过最好的对HTTPS的理解
  8. python系统信息_Python获得操作系统信息
  9. 【MVC5】对MySql数据库使用EntityFramework
  10. python和java哪个更有前途_Java和Python现在都很热门,哪个更有前途?
  11. 【C语言】简单小游戏项目:《别踩白块儿》
  12. video.js在react中实现视频播放(video.js)
  13. Z-001 开关电源共模电感计算的方法详解
  14. 一串代码远程控制电脑关机
  15. MySQL数据库基础详解(非原创)
  16. 银河麒麟 Kylin_s10_sp3安装Oracle11g(FS)(亲测有效)
  17. LCD中如何描绘点阵数据
  18. android开发之上传头像
  19. SpringBoot + Sharding JDBC,一文搞定分库分表、读写分离
  20. 测试相机的软件叫什么,拍照查花软件叫什么 三款识花神器App评测

热门文章

  1. 解决“The type initializer for'Oracle.DataAccess.Client.OracleConnection' threw an exception ”异常...
  2. 间接通过new 来申请一个二维的堆内存数组
  3. 重磅!2021年考研国家线正式公布,部分学科分数线比去年更低!
  4. 【OpenCV入门指南】第十三篇 人脸检测
  5. sklearn 随机分割数据_sklearn.ensemble.RandomForestClassifier 随机深林参数详解
  6. wincc历史数据库_什么是数据库?如何学习数据库?
  7. 前端实习生笔试_一道来自美图的实习生前端笔试算法题
  8. mysql 全值匹配什么意思
  9. 为什么大多数IP地址通常以192.168开头?
  10. 028_自己实现一个LinkedList