编程语言
首页 > 编程语言> > C语言实现 算法提高 哥德巴赫猜想

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