B1013 数素数(20分)
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分)相关推荐
- 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 到 ...
- 样例解释:1013 数素数 (20分)
立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 令 Pi表示第 i 个素数.现任给两个正整数 M≤N≤10^4 ,请输出 PM到 PN的所有素数. 输入 ...
- PAT乙类1013 数素数 (20 分)
一.题目 令 Pi表示第 i 个素数.现任给两个正整数 M≤N≤10^4,请输出 PM到 PN的所有素数.输入格式: 输入在一行中给出 M 和 N,其间以空格分隔.输出格式: 输出从 PM到 P ...
- 【PAT乙级】1013 数素数 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805309963354112 朴素写法 #include<cstdi ...
- 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数素数 20 c语言,PAT乙级C语言1013 数素数
1013 数素数 (20 分) 令 Pi表示第 i 个素数.现任给两个正整数 M≤N≤10的4次方,请输出 PM到 PN的所有素数. 输入格式: 输入在一行中给出 M 和 N,其间以空格分隔. 输出 ...
- 牛客网 PAT 算法历年真题 1003: 数素数 (20)
1003:数素数 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 令Pi表示第i个素数.现任给两个正整 ...
- PAT 1013 数素数 (20)
题目 /*1013. 数素数 (20)令Pi表示第i个素数.现任给两个正整数M <= N <= 10^4,请输出PM到PN的所有素数.输入格式:输入在一行中给出M和N,其间以空格分隔.输出 ...
最新文章
- NLP(Natural Language Processing)
- Oracle PL/SQL编程之基础
- 黑火药跟黄火药的区别在哪里?
- Timus 1018 树形DP
- 第一次玩,试试手(标题)
- Maven依赖配置和依赖范围
- 【转载】这是我看过最好的对HTTPS的理解
- python系统信息_Python获得操作系统信息
- 【MVC5】对MySql数据库使用EntityFramework
- python和java哪个更有前途_Java和Python现在都很热门,哪个更有前途?
- 【C语言】简单小游戏项目:《别踩白块儿》
- video.js在react中实现视频播放(video.js)
- Z-001 开关电源共模电感计算的方法详解
- 一串代码远程控制电脑关机
- MySQL数据库基础详解(非原创)
- 银河麒麟 Kylin_s10_sp3安装Oracle11g(FS)(亲测有效)
- LCD中如何描绘点阵数据
- android开发之上传头像
- SpringBoot + Sharding JDBC,一文搞定分库分表、读写分离
- 测试相机的软件叫什么,拍照查花软件叫什么 三款识花神器App评测
热门文章
- 解决“The type initializer for'Oracle.DataAccess.Client.OracleConnection' threw an exception ”异常...
- 间接通过new 来申请一个二维的堆内存数组
- 重磅!2021年考研国家线正式公布,部分学科分数线比去年更低!
- 【OpenCV入门指南】第十三篇 人脸检测
- sklearn 随机分割数据_sklearn.ensemble.RandomForestClassifier 随机深林参数详解
- wincc历史数据库_什么是数据库?如何学习数据库?
- 前端实习生笔试_一道来自美图的实习生前端笔试算法题
- mysql 全值匹配什么意思
- 为什么大多数IP地址通常以192.168开头?
- 028_自己实现一个LinkedList