题目描述
编写具有如下原型的函数:void find(int i, int n); 实现从 i 开始找起,连续找出 n 个素数并显示在屏幕上。如:实参为10 和 8 后,输出的 8 个素数应为:11,13,17,19,23,29,31,37。
输入
输入两个整数,前一个是查找的起始数字,后一个是指定查找几个素数;
输出
输出指定数量的素数,每个素数后面加一个空格作为分隔符,最后一个数字后面可以有一个空格,但不需要换行。
样例输入 Copy
13 4
样例输出 Copy
13 17 19 23
#include<iostream>
using namespace std;
void find(int i,int n)
{
int num=0;
if(i<=2) i=3;//防止输出2
for(int j=i;;j++)
{
bool pan=true;
for(int k=2;k<j/k+1;k++)
{
if(j%k==0) pan=false;
}
if(pan==true) {cout<<j<<" "; num++;}
if(num==n) break;
}
}
int main()
{
int i,n;
cin>>i>>n;
find(i,n);
return 0;
}