您的位置:首页 > 其它

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之间,则输出。注意行尾无空格。

#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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: