#include <iostream>
#include <vector>
#include <math.h>
using namespace std;
//素数判定方法
bool isprime(int n) { //判定n是不是素数
if (n <= 1) return false; //特判
int sqr = (int)sqrt(1.0*n); //得到根号n,sqrt函数在c++中参数必须是浮点型
for (int i = 2; i <= sqr; i++) //如果n有除了自身和1以外的因子,则不是素数
{
if (n%i == 0)
{
return false;
}
}
return true;
}
int main()
{
// M,N分别表示第M,N个素数
int M = 0;
int N = 0;
cin >> M >> N;
int i = 0;
int j = 0;
int k = 0;
vector<int>v; //数组v用来存储在第N个和第M个之间的素数
for ( i = 0; k!=N; i++)
{
if (isprime(i))
{
v.push_back(i);
k++;
}
}
for ( i = M-1; i < N; i++)
{
cout << v[i];
j++;
if (j%10==0||i==N-1)
{
cout << endl;
}
else
{
cout << " ";
}
}
return 0;
}
PAT乙级1013:数素数
猜你喜欢
转载自blog.csdn.net/weixin_43699840/article/details/105229000
今日推荐
周排行