- #include"stdio.h"
- int main(void)
- {
- long int n,j,i,k,jl;
- printf("Enter n:");
- scanf("%ld",&n);
- for(k=2;k<=n/2;++k) //k等于n一半的原因是為了讓前面的和后面的沒有重復
- {
- i=2; //讓i從2開始判斷k
- while(k%i!=0) i++; //從n/2之前找一個素數
- if(i>k/2) //如果i比k/2大則說明已判斷完,k為素數
- {
- jl=n-k;
- j=k; //讓j從k的后在面找避免和前面k中已有值重復
- while(jl%j!=0) j++; //判斷n減去上面素數的結果不是不一個素數
- if(j>jl/2&&n==k+jl)
- printf("%ld=%d+%ld ",n,k,jl);
- }
- }
- return 0;
- }
復制代碼
|