题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
#include <stdio.h>
int isprime(int n) {
int cnt = 0;
if (n == 2 || n == 3) {
return 1;
}
for (int i = 3; i < n; i += 2) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n = 0;
int a[1000] = {0};
scanf("%d", &n);
a[2] = 2;
for (int i = 3; i < n; i += 2) {
if (isprime(i)) {
a[i] = i;
}
}
/*for (int i = 0; i < 54; i++) {
if (a[i]) {
printf("%d ", a[i]);
}
}
printf("\n");*/
int min = 1000;
int temp = 0;
int i = 0;
int j = 0;
int x = 0;
int y = 0;
for (i = 2; i < 1000; i++) {
if (a[i] == 0) {
continue;
}
for (j = 2; j < 1000; j++) {
if (a[j] == 0) {
continue;
}
if (a[i] + a[j] == n) {
temp = a[j] - a[i];
temp = temp > 0 ? temp : -temp;
if (temp < min) {
min = temp;
x = i;
y = j;
}
}
}
}
printf("%d\n%d", x, y);
return 0;
}
#在找工作求抱抱#

百度公司氛围 562人发布