题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
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; }