输入一些偶数 n(4<n<10000) , 每个数占一行,输出占一行,两个素数的和c语言代码
时间: 2024-03-10 08:45:12 浏览: 62
求n以内最大的k个素数以及它们的和(C)
以下是一个使用C语言编写的程序,可以输入一个大于4且小于10000的偶数n,然后输出两个素数的和,使它们的和等于n。程序使用了哥德巴赫猜想的证明方法,即通过枚举所有小于n的素数,找到一个素数p,使n-p也是素数,那么p和n-p就是n的一个素数对。
```c
#include <stdio.h>
#include <math.h>
int is_prime(int n) {
if(n < 2) {
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;
printf("Enter an even integer greater than 4 and less than 10000: ");
scanf("%d", &n);
for(i=2; i<=n/2; i++) {
if(is_prime(i) && is_prime(n-i)) {
printf("%d = %d + %d\n", n, i, n-i);
break;
}
}
return 0;
}
```
程序的主要部分是for循环,它遍历2到n/2之间的所有整数i,并检查i和n-i是否都是素数。如果是,就输出它们的和等于n的消息,并使用break语句跳出循环。如果没有找到这样的素数对,程序将自动退出。
阅读全文