验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。例如:6=3+3,8=3+5,…,18=5+13。将6~100之间的偶数都表示成两个奇素数之和,打印时一行打印5组。c语言代码
时间: 2024-05-07 16:19:35 浏览: 63
以下是验证哥德巴赫猜想的C语言代码:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int count = 0;
for (int i = 6; i <= 100; i += 2) {
int flag = 0;
for (int j = 3; j <= i / 2; j += 2) {
if (is_prime(j) && is_prime(i - j)) {
printf("%d=%d+%d ", i, j, i - j);
flag = 1;
count++;
if (count % 5 == 0) {
printf("\n");
}
break;
}
}
if (flag == 0) {
printf("Goldbach conjecture is wrong!\n");
}
}
return 0;
}
```
代码中,先定义了一个判断素数的函数 `is_prime()`,然后在 `main()` 函数中循环遍历 6~100 之间的偶数,对于每个偶数,从 3 开始遍历到该偶数的一半,找到两个奇素数之和等于该偶数就输出,否则输出 "Goldbach conjecture is wrong!"。每输出 5 组就换行。
阅读全文