PAT乙级(Basic Level)真题 数素数(素数筛法)
来源:互联网 发布:规律转移矩阵 编辑:程序博客网 时间:2024/06/01 07:59
题目描述
令Pi表示第i个素数。现任给两个正整数M <= N <= 10000,请输出PM到PN的所有素数。
输入描述:
输入在一行中给出M和N,其间以空格分隔。
输出描述:
输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。
输入例子:
5 27
输出例子:
11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8997 101 103
分析:素数筛法打表
AC代码:
#include<cstdio>#include<cstring>#include<cmath>using namespace std;const int maxn=1e6;int a[maxn];int vis[maxn];void table(){memset(vis,0,sizeof(vis));for(int i=2;i<=sqrt(maxn);i++){if(!vis[i]){for(int j=i*i;j<maxn;j+=i)vis[j]=1;}}int j=1;for(int i=2;i<maxn;i++) if(!vis[i]) a[j++]=i;}int main(){int m,n;table();while(scanf("%d%d",&m,&n)==2){int cnt=0;for(int i=m;i<=n;i++){if(cnt%10==0){if(cnt==0)printf("%d",a[i]);else printf("\n%d",a[i]); } else printf(" %d",a[i]); cnt++; }} return 0;}
0 0
- PAT乙级(Basic Level)真题 数素数(素数筛法)
- PAT乙级(Basic Level)真题1003数素数 (20)
- 【PAT 乙级(Basic Level)】数素数
- PAT 乙级 Basic Level 1007. 素数对猜想(素数筛法)
- PAT(Basic Level):数素数
- PAT乙级(Basic Level)真题 >组个最小数
- PAT (Basic Level)1013. 数素数
- PAT(basic level) 1013 数素数(20)
- PAT BASIC LEVEL 1013. 数素数 (20)
- PAT.Basic level.T.1013.数素数
- PAT(Basic Level)_1013_数素数
- 1013. 数素数 (20)-PAT乙级真题
- 1013. 数素数 (20) PAT乙级真题
- Pat(Basic Level)Practice--1013(数素数)
- PAT Basic Level 1013. 数素数(20)
- PAT (Basic Level) Practise (中文)1013. 数素数 (20)
- PAT (Basic Level) Practise (中文)1013数素数 (20)
- PAT (Basic Level) Practise (中文) 1013. 数素数 (20)
- 使用css伪元素的一些遐想
- ubuntu与win7在局域网下共享文件
- Cenos7_Install_Mysql5.7
- CSDN日报20170411
- 全息电话会议开源项目LiveScan3D-Hololens
- PAT乙级(Basic Level)真题 数素数(素数筛法)
- c++基础 类的设计
- javascript中模拟实现java语言中的map
- hadoop的hive sql语句总结
- JS深入之你知道点号(.)是怎么玩的吗?(二)
- tomcat8出现Could not initialize class sun.awt.X11GraphicsEnvironment问题
- C语言实现单链表
- Activemq管理和基本介绍
- iOS网络编程之系统架构