早教吧 育儿知识 作业答案 考试题库 百科 知识分享

输入一个整数,输出与它最接近的素数(如果该整数是素数,则输出它自身),用C/C++实现说明:求素数的方法我知道,假设boolisIsSuShu(intn)是已知的~另外,和它最接近的素数是不是有可能有两个?

题目详情
输入一个整数,输出与它最接近的素数(如果该整数是素数,则输出它自身),用C/C++实现
说明:求素数的方法我知道,假设bool is_IsSuShu(int n)是已知的~
另外,和它最接近的素数是不是有可能有两个?例如,和18最接近的素数有17、19
▼优质解答
答案和解析
#include
#include
using namespace std;
bool isPrime(int n){
int i, k=sqrt(n);
for(i=2; ik);
return f;
}
int main(){
int n,p1,p2;
cout n;
p1=p2=n;
while(!isPrime(p1)) p1--; //找比n小的素数p1
while(!isPrime(p2)) p2++; //找比n大的素数p2
if(p1==p2)
cout