c 语言哥德巴赫猜想
时间: 2023-12-13 14:31:46 浏览: 185
哥德巴赫猜想是一个数学问题,与C语言关系不大。但是,我们可以用C语言来实现哥德巴赫猜想的验证。哥德巴赫猜想指出,任何一个大于2的偶数都可以表示成两个质数之和。下面是一个用C语言验证哥德巴赫猜想的程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
}
int i;
for (i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n, i, j, flag;
printf("Enter an even number greater than 2: ");
scanf("%d", &n);
if (n % 2 != 0 || n <= 2) {
printf("Invalid input\n");
exit(0);
}
for (i = 2; i <= n/2; i++) {
if (is_prime(i)) {
j = n - i;
if (is_prime(j)) {
printf("%d = %d + %d\n", n, i, j);
flag = 1;
}
}
}
if (!flag) {
printf("Goldbach's conjecture is wrong.\n");
}
return 0;
}
```
该程序首先要求用户输入一个大于2的偶数,然后遍历从2到n/2的所有正整数,判断它们是否为质数,如果是,则计算n减去该数的差是否也是质数,如果是,则输出这两个质数的和等于n。如果找不到这样的两个质数,则输出“Goldbach's conjecture is wrong.”。
阅读全文