题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
查找最相近的两个素数,即从输入偶数n的1/2为基准向左(小)向右(大)进行查找。
#include <stdio.h>
#include <math.h>
int isPrime(int n)
{
if(n==2) return 1;
int i,num;
num=sqrt(n);
for(i=2;i<=num;i++)
if(n%i==0) return 0;
return 1;
}
int main()
{
int n,mid,i,j;
scanf("%d",&n);
mid=n/2;
for(i=mid;i>1;i--)
if(isPrime(i)==1)
{
for(j=mid;j<n;j++)
if(isPrime(j)==1)
{
if(i+j==n) {printf("%d\n%d",i,j);break;}
else if(i+j<n) continue;
else break;
}
if(i+j==n) break;
}
return 0;
}
海康威视公司福利 1125人发布