验证歌德巴勒猜想c语言
时间: 2023-12-22 18:28:27 浏览: 211
c语言 验证哥德巴赫猜想
以下是验证哥德巴赫猜想的两个函数的C语言代码:
```c
#include <stdio.h>
// 判断一个数是否为素数
int isPrime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
// 验证哥德巴赫猜想
void verifyGoldbach(int n) {
if (n <= 2 || n % 2 == 1) {
printf("输入有误,必须输入大于2的偶数\n");
return;
}
for (int i = 2; i <= n / 2; i++) {
if (isPrime(i) && isPrime(n - i)) {
printf("%d = %d + %d\n", n, i, n - i);
return;
}
}
printf("验证失败\n");
}
int main() {
int n;
printf("请输入一个大于2的偶数:");
scanf("%d", &n);
verifyGoldbach(n);
return 0;
}
```
以上代码中,`isPrime`函数用于判断一个数是否为素数,`verifyGoldbach`函数用于验证哥德巴赫猜想。在`verifyGoldbach`函数中,我们先判断输入的数是否为大于2的偶数,如果不是则输出错误信息。然后从2开始遍历到n/2,判断i和n-i是否都是素数,如果是则输出结果并返回,如果遍历完了还没有找到符合条件的i和n-i,则输出验证失败。
阅读全文