PAT乙级—1013. 数素数 (20)-native
2016-06-13 13:29
239 查看
令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
思路:从1找起,并记录下为第几个素数,若在M和N之间,则输出。注意行尾无空格。
题目链接:
https://www.patest.cn/contests/pat-b-practise/1013
输入格式:
输入在一行中给出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
思路:从1找起,并记录下为第几个素数,若在M和N之间,则输出。注意行尾无空格。
#include<iostream> #include<cmath> using namespace std; int main() { int n,m,count=0,i=1; int j,last; cin>>n>>m; while(i++) { for(j=2;j<=sqrt(i);j++) { if(i%j==0) break; } if(j>sqrt(i)) { count++; //计录是第几个素数 if((count-n)%10==0&&count>n)//从第n个开始已经输出了10个则换行 { //count不能等于n,等于行则会输出空行 cout<<endl; } if(count>=n)//从第n个开始输出 cout<<i; if(count==m) break;//到第m个为止 if(count>=n&&(count-n+1)%10!=0)//行尾无空格 cout<<" "; } } return 0; }
题目链接:
https://www.patest.cn/contests/pat-b-practise/1013
相关文章推荐
- ARM下的对齐处理
- 也谈字节对齐带来效率的差异
- 选择法排序
- 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
- ANT教程
- DAS、SAN、NAS的区别
- linux IIC子系统分析(二)—— linux i2c 架构概述
- Spring源码阅读 之依赖注入的实现方式
- 冒泡排序
- 某数二进制位中1的个数
- RxJAVA详解
- 按回车键 实现登录
- 109. Sqrt(x)
- Android入门-SayHello及其多种实现方法
- php解析html类库simple_html_dom
- 【小月博客】用HTML5的File API做上传图片预览功能
- ffmpeg学习(4)——播放器实例
- java 插入排序
- Linux结构体struct内存分配问题
- MySQL中concat concat_ws repeat函数等操作