//输出大于二的偶数等于两个素数和的全部式子
#include <stdio.h>
int main()
{
int i,p,k,q;
printf("请输入大于二的偶数:");
scanf("%d",&i);
printf("%d",i);
for(p=3;p<=i/2;p+=2)
//令p<=i-p得到p<=i/2
//从p=3开始,因为1不是素数,偶数等于偶加偶或奇加奇
//推出只能为奇数加奇数,即p为奇数
{ for(k=3;k<p;k+=2)
//开始找素数p
//p为奇数一定不能整除以偶数则只需检验除以奇数k的情况
{if(p%k==0) break;}
//找到能整除p的数k了就退出
if(p==k)
//如果这个数为p则说明p是质数,继续验证i-p
{for(q=3;q<i-p;q+=2)
{if((i-p)%q==0)break;}
if(i-p==q) printf("=%d+%d",p,i-p);}
//验证成功,输出
}
return 0;
}
一种输出结果为10=3+7=5+5
欢迎帮忙找出问题和改进,本人初学C语言,还很菜hhh