题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
#include <stdio.h>
#include <math.h>
typedef struct node {
int x1;
int x2;
int distence;
} node;
int judege(int x) {
int i;
for (i = 2; i < sqrt(x); i++) {
if (x % i == 0)
break;
}
if (i > sqrt(x))
return 1;
else
return 0;
}
int main() {
int n;
scanf("%d", &n);
int i, j = 0;
node c[500];
for (i = 2; i <= n / 2; i++) {
if (judege(i) == 1 && judege(n - i) == 1) {
c[j].x1 = i;
c[j].x2 = n - i;
c[j].distence = n - i - i;
j++;
}
}
int flag, low = 10000;
for (i = 0; i < j; i++) {
if (c[i].distence < low) {
flag = i;
}
}
printf("%d\n%d\n", c[flag].x1, c[flag].x2);
return 0;
}