从键盘输入一个整数,输出距离该数最近的素数。根据输入的数不同,此问题可能有一个答案(或者比输入的数大或者比输入的数小),也可能需要输出两个值(一个比输入的数大,一个比输入的数小,两个距离输入的数一样近)。PS:数学意义上的最小素数是2,例如,若输入-213,结果应是2
不要太高深 开头用#include int main for scanf printf 等等这几类基础的吧
其他复杂的就算了吧
#include<stdio.h>
#include<math.h>
int isPrime(int n){
if(n<2)
return 0;
int i=0;
for(i=2;i<sqrt(n);i++){
if (n%i==0)
return 0;
}
return 1;
}
int main(){
int n;
scanf("%d",&n);
int i=0,j=0;
if(n>2){
int isContinue = 1;
int i = 1;
while(isContinue){
if(isPrime(n+i)){
printf("%d\n",n+i);
isContinue = 0;
}
if(isPrime(n-i)){
printf("%d\n",n-i);
isContinue = 0;
}
i++;
}
}
else
printf("2\n");
return 0;
}