要点:1.单独自定义一个函数;
2.按照顺序找到第一个素数,用输入的n来减去另一个数字
3.判断减出来的数字是不是素数再输出。
/*验证“哥德巴赫猜想”*/
#include <stdio.h>
int prime(int n);
int main() {
double n, b = 0;;
double n1 = 0, n2 = 0;
scanf("%lf", &n);
for (double a = 2; a <= n / 2; a++) {
if (prime(a) == 1) {
b = n - a;
if (prime(b) == 1) {
printf("%.f = %.f + %.f\n", n, a, b);
break;//记得跳出循环《只要一条符合要求的情况》
}
}
}
return 0;
}
int prime(int n) {//考点:素数的判断
if (n < 2)//注意这里的条件
return 0;
if (n == 2)
return 1;
for (int i = 2; i <= n / i; i++) {
if (n % i == 0)
return 0;
}
return 1;
}