1013 数素数 (20分) 四号测试点需注意

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

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

输出格式:
输出从 P​M到 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

思路:套欧拉筛和埃筛(素数筛)
筛子不清楚的可以看这篇
【超级传送】

还有注意格式,十个换一行。
我写了两个一个是光埃筛的,一个是欧拉筛套埃筛的
注意第四个测试点:它是在测第10000个 第10000是等于104729所以maxx>104729
但也不能开太大 会t 埃筛的用时是O(nlognlogn) 欧拉筛用时是O(n)
代码:
第一种

#include<iostream>
#include<cstdio>
#include<algorithm>
#define maxx 1000006   //注意
typedef long long ll;bool num[maxx];
ll prime[maxx],x=0;void isprime(int n)
{for(int i=2;i<n;i++){if(!num[i])prime[x++]=i;for(int j=2;i*j<n;j++){num[i*j]=true;}}
}
int main()
{isprime(maxx);ll m,n;scanf("%lld %lld",&m,&n);int k=0;for(int i=m-1;i<n;i++){if(k==0)printf("%lld",prime[i]);elseprintf(" %lld",prime[i]);k++;if(k==10){k=0;printf("\n");}}return 0;
}

第二种

    #include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<string>#include<algorithm>#include<stack>#include<iomanip>using namespace std;typedef long long ll;#define maxx 10000008 //注意bool num[maxx];int prime[maxx],x=0;void isprime(int n){for(int i=2;i<n;i++){if(!num[i]){num[x]=i;x++;}for(int j=2;j*i<=n;j++){num[i*j]=true;}}}void oulasai(int n){for(int i=2;i<=n;i++){if(!num[i])prime[x++]=i;for(int j=0;j<x;j++){if(i*prime[j]>n)break;num[i*prime[j]]=true;if(i%prime[j]==0)break;}}}int main(){int n,m;oulasai(maxx);scanf("%d %d",&n,&m);int k=0;for(int i=n-1;i<m;i++){if(k==0)printf("%d",prime[i]);elseprintf(" %d",prime[i]);k++;if(k==10){k=0;printf("\n");}}//printf("\n");return 0;}

PTA乙级【1013 数素数 (20分)】注意第四个测试点相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. PAT 1013 数素数 (20)

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

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

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

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

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

最新文章

  1. matlab 手掌轮廓,CG_图片轮廓mask提取-matlab
  2. mysql搭建主从的目的_mysql搭建主从
  3. k型热电偶分度表_一张表搞定热电偶与热电阻的问题
  4. C++程序中调用其他exe可执行文件方法
  5. rto净化效率计算公式_全面剖析 石油化工行业RTO蓄热式焚烧炉的优势要素
  6. jQuery 常用的方法
  7. 原生CSS设置网站主题色—CSS变量赋值
  8. flink的jar包和服务器的包冲突解决方案
  9. ArcGIS/ArcMAP操作录屏视频及相关实验数据(行政界线、地名点、道路路网、水系、乡镇/街道面等)
  10. C/C++试题集——字符串篇
  11. 计算机一直进入安全模式开机,电脑启动时自动进入安全模式怎么办
  12. 美国高防服务器亿速云,亿速云香港高防裸金属服务器上线,更强悍的计算性能,更安全的DDoS攻击防护...
  13. RSA组件之掩码生成函数(MGF)的实现(C源码)
  14. 台湾半导体加工业之父---张忠谋
  15. 人工智能狂潮_患有社交媒体狂潮? 使用这些工具从一个地方管理所有帐户
  16. 后端开发工程师需要掌握的内容
  17. 微信小程序setData不起作用
  18. 物联网核心技术M2M的构成、基本特征和应用类别
  19. 原生js小游戏——俄罗斯方块
  20. DB2ADVIS returning error -220

热门文章

  1. Dotnet WebAPI 项目启动提示 500.30 - ANCM In-Process Start Failure
  2. 微信公众号(服务号、订阅号、企业号)的区别
  3. 编码:隐匿在计算机软硬件背后的语言(勘误)
  4. 网页在ie内核的浏览器下面整体偏左
  5. ubuntu查看系统版本
  6. 今日头条推荐算法研究
  7. [ github ] 10道题串起 Pandas 常用知识点
  8. mysql文章相似度计算_文章相似度计算
  9. 转型实践|产品设计从青铜到王者—青铜篇
  10. w7文件加密提示没启用服务器,win7文件夹设置密码没有密钥提示该怎么解决