PAT 1013. 数素数
来源:互联网 发布:手机统计软件 编辑:程序博客网 时间:2024/06/05 08:46
令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。
输入格式:
输入在一行中给出M和N,其间以空格分隔。
输出格式:
输出从PM到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
#include <stdio.h>#include <iostream>using namespace std;int main(){ bool a[65535]; for(int i=0;i<10;i++) { a[i]=false; } a[2]=true,a[3]=true,a[5]=true,a[7]=true; for(int i=10;i<65535;i++) { if(i%2==0||i%3==0||i%5==0||i%7==0) a[i]=false; else a[i]=true; } int m,n; cin>>m>>n; int i=2,temp=0,j=0; while(i<65535) { if(a[i]) temp++; if(temp>=m&&temp<n&&a[i]) { j++; if(j%10==0) cout<<i<<endl; else cout<<i<<" "; } if(temp==n) {cout<<i<<endl;break;} i++; } return 0;}
有一点小问题需要改进,在判断是否是素数的时候采用了数能否整除2,3,5,7的方式,可能会有遗漏,其实直接判断也是可以的
#include <iostream>#include <math.h>using namespace std;int sushu(int k){ int i; for(i=2;i<=sqrt(k);i++) if(k%i==0) return 0; return 1;}int main(){ int i,n,m; int t = 0; int k = 0; int gogogo = 1; cin>>n>>m; i = 2; while(gogogo) { if(sushu(i)) { t++; if((t>=n) && (t<m)) { k++; if(k%10==0) cout<<i<<endl; else cout<<i<<' '; } if (t==m) { cout<<i<<endl; gogogo = 0; } } i++; } return 0;}
阅读全文
0 0
- PAT 1013. 数素数
- PAT 1013. 数素数
- PAT 1013. 数素数
- PAT 1013. 数素数
- PAT 1013. 数素数
- PAT 1013. 数素数 (20)
- PAT-B 1013. 数素数
- 1013. 数素数(PAT Basic)
- PAT乙级 1013. 数素数
- PAT 乙级 1013. 数素数
- PAT-1013. 数素数 (20)
- PAT-B 1013. 数素数
- PAT-B 1013. 数素数
- pat 乙 1013. 数素数
- 1013. 数素数 (20) PAT
- [PAT-乙级]1013.数素数
- pat 1013. 数素数 (20)
- PAT 1013. 数素数 (20)
- 1011. World Cup Betting (20)
- 计算机软件编程英语词汇集锦
- nodejs之Generator理解笔记
- 深度神经网络(DNN)是否模拟了人类大脑皮层结构?
- MAC本地安装EOS及问题
- PAT 1013. 数素数
- 豆瓣API查询和显示图书的信息
- 华为——数字颠倒
- Ajax上传文件 (JQuery Ajax&原生Ajax)
- PCA的数学原理
- PHP获取客户端真实IP
- 两道华为在线编程题
- 方向感
- Struts2_OGNL和值栈