题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
bool isPrime(int n){
for(int i = 2; i <= sqrt(n);i++)
if(n % i == 0)
return false;
return true;
}
int main() {
int n;
scanf("%d",&n);
int res[n][2];
int k = 0;
memset(res, 0, sizeof(res));
for(int i = 2;i < n;i++){
if(isPrime(i) && isPrime(n - i)){
res[k][0] = i;
res[k][1] = n - i;
k++;
}
}
int temp,diff;
diff = abs(res[0][0] - res[0][1] );
for(int i = 0;i < k;i++){
if(abs(res[i][0] - res[i][1]) < diff){
diff = abs(res[i][0] - res[i][1]);
temp = i;
}
}
if(res[temp][0] > res[temp][1]){
printf("%d\n%d",res[temp][1],res[temp][0]);
}else {
printf("%d\n%d",res[temp][0],res[temp][1]);
}
}
查看12道真题和解析

汤臣倍健公司氛围 361人发布