本人自学C语言,目前学到循环,然后那本鸟书给出这样一个例题,
验证哥德巴赫猜想:任意一个不小于6的偶数总能表示成两个素数之和。
然后就给出下面这样一个程序。
经过我用VC验证,此程序错误!根本做不到题目要求。希望高手能给指出错误,并给我一个准确的程序。
注意!!!本人小白,连这个错误程序都看不懂,真的是一点点都不懂,所以希望高手们给出答案的同时,能把步骤都标上注释,让我这个小白明白每一步都是干吗用的。在此谢过。
main()
{
int a,b,c,d;
scanf("%d",&a);
for(b=3;b<=a/2;b+=2)
{
for(c=2;c<=sqrt(b);c++)
if(b%c==0) break;
if(c>sqrt(b))
d=a-b;
else break;
for(c=2;c<=sqrt(d);c++)
if(d%c==0) break;
if(c>sqrt(d))
printf("%d=%d+%d\n",a,b,c);
}
}