發新話題

[問題] 驗證4~100所有偶數可寫成兩個質數之合(請教高手)

驗證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的無窮迴圈,請問是哪裡寫錯了呢??

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。