驗證4~100所有偶數可寫成兩個質數之合(請教高手)
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int k,a,b,i,fa,fb;
for(k=4;k<=100;k+=2)
{
for(a=2;a<=k/2;a++)
{
//判斷a是否為質數
fa=0;
for(i=2;i<=a-1;i++)
{
if(a%i==0)
{
fa=1;
break;
}
if(fa==0) //如果a為質數
{
b=k-a;
//判斷b是否為質數
fb=0;
for(i=2;i<=b-1;i++)
{
if(b%i==0)
{
fb=1;
break;
}
if(fb==0) //如果b也是質數
{
printf("%d=%d+%d\n",k,a,b);//列印解答並跳出迴圈
break;
}
}
}
}
}
}
system("PAUSE");
return 0;
}
執行結果為10=5+5的無窮迴圈,請問是哪裡寫錯了呢??