- #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;
- }
复制代码
|