c语言实现杜立特尔分解
时间: 2023-10-15 11:07:20 浏览: 89
C语言实现Doolittle分解和回带求值
杜立特尔分解是将一个偶数分解成两个质数之和的方法。具体实现如下:
```c
#include <stdio.h>
int isPrime(int n) {
if (n < 2) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
void goldbach(int n) {
for (int i = 2; i <= n / 2; i++) {
if (isPrime(i) && isPrime(n - i)) {
printf("%d = %d + %d\n", n, i, n - i);
}
}
}
int main() {
int n;
printf("请输入一个偶数:");
scanf("%d", &n);
goldbach(n);
return 0;
}
```
首先定义了一个 `isPrime` 函数来判断一个数是否是质数。然后定义了一个 `goldbach` 函数来进行杜立特尔分解。在 `goldbach` 函数中,从 2 开始枚举一个数 `i`,如果 `i` 和 `n-i` 都是质数,则输出结果。
在主函数中,先输入一个偶数,然后调用 `goldbach` 函数进行分解。
阅读全文