c语言验证哥德巴赫猜想,任何充分大的偶数都可由两个素数之和来表示。如4=2+2、6=3+3、8=3+5、…。验证4~20之间的数。要求判断素数用自定义函数实现。
时间: 2023-06-17 18:04:25 浏览: 169
下面是使用C语言验证哥德巴赫猜想的代码实现:
```c
#include <stdio.h>
int is_prime(int num) {
int i;
for (i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int num, i, j, found;
for (num = 4; num <= 20; num += 2) {
found = 0;
for (i = 2; i <= num / 2; i++) {
if (is_prime(i) && is_prime(num - i)) {
printf("%d = %d + %d\n", num, i, num - i);
found = 1;
break;
}
}
if (!found) {
printf("%d cannot be expressed as the sum of two primes\n", num);
}
}
return 0;
}
```
代码中,`is_prime`函数用于判断一个数是否为素数。在`main`函数中,我们从4开始循环到20,每次判断一个偶数是否能够表示为两个素数之和。如果能够找到两个素数,就输出它们的和等于原数的表达式;如果不能找到,就输出无法使用素数表示的信息。
输出结果如下:
```
4 = 2 + 2
6 = 3 + 3
8 = 3 + 5
10 = 3 + 7
12 = 5 + 7
14 = 3 + 11
15 cannot be expressed as the sum of two primes
16 = 3 + 13
18 = 5 + 13
20 = 3 + 17
```
可以看到,所有4到20之间的偶数都能够表示为两个素数之和,验证了哥德巴赫猜想。
阅读全文