您的位置:首页 > 其它

1013. 数素数 (20)

2016-08-28 19:10 218 查看
令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 <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool isprime(int n)
{
for(int i=2;i*i<=n;++i)
if(n%i==0) return false;
return true;
}
vector<int> primeMtoN(int m,int n)
{
vector<int> v;
int k=1,cnt=0;
while(cnt<m)
{
++k;
if(isprime(k))++cnt;
}
while(cnt<=n)
{
if(isprime(k)) v.push_back(k),++cnt;
++k;
}
return v;
}
int main()
{
int m,n;
cin>>m>>n;
vector<int> v=primeMtoN(m,n);
for(unsigned int i=0;i<v.size();++i)
{
if(i==v.size()-1)
{
cout<<v[i];
break;
}
(i+1)%10==0?cout<<v[i]<<endl:cout<<v[i]<<" ";
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: