C语言实现 算法提高 哥德巴赫猜想
作者:互联网
C语言实现 算法提高 哥德巴赫猜想
```c
```c
#include<stdio.h>
#include<math.h>
int check(int n){
if(n == 2 || n==1){
return 1;
}
else if( n%2 == 0) {
return 0;
}
else{
for(int i = 2; i <= sqrt(n); i++){
if(n%i == 0)return 0;
}
return 1;
}
}
//若全为 2 会有重复解
void check_1(int n){
for(int i = 2;i<n;i++){
for(int j = i;j<n;j++){
if(check(i)&&check(j) && (i+j )== n){
printf("%d + %d = %d\n",i,j,n);
}
}
}
}
void check_2(int n){
for(int i = 2;i<n;i++){
for(int j = i;j<n;j++){
for(int k = j; k < n ;k++){
if(check(i)&&check(j) && check(k) && (i+j+k )== n){
printf("%d + %d +%d = %d\n",i,j,k,n);
}
}
}
}
}
int main(){int n;
while(1){
scanf("%d",&n);
if(n%2){ //偶数
check_2(n);
}
else{
check_1(n);
}
}
}
标签:return,哥德巴赫猜想,int,n%,C语言,算法,&&,else,check 来源: https://blog.csdn.net/ProHc/article/details/114856704