题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
//思路:将输入数字除以2(此时偶数/2得到两个数的差为0,奇数/2得到两个数差为1),从此数开始向两端判断是否为素数
#include <stdio.h>
#include<math.h>
//素数判断函数
int Is(int k)
{
int i=0;
for(i=2;i<=sqrt(k);i++)
{
if((k%i)==0)
{
return 0;
}
}
return 1;//是素数返回1,不是返回0
}
int main()
{
int n=0,p=0,q=0;
scanf("%d",&n);
p=n/2;
q=n-p;
while((p>1)&&(q==(n-p)))//注意:p最小为2
{
if(Is(p)&&Is(q))//都是素数就打印,结束循环
{
printf("%d\n%d",p,q);
break;
}
else//不是素数,p-1,q+1,继续判断
{
p--;
q++;
}
}
return 0;
}



查看2道真题和解析