#5401: 誰可以幫我用c++的語法找出錯在哪裡~拜託拜託~


wanglin (阿魚塞)


#include<iostream>
using namespace std;
int main()
{  int a,b,c,d;
  while(cin>>a)
  {
    if(a>=2&&a<=2147483647)
   {
     b=a;
     for(c=2;c<=b;c++)
      { d=0;
        if(a%c==0)
        {
        d=d+1;
        }
        if(d==1)
        cout<<"非質數"<endl;
        else
        cout<<"質數"<endl;
      }
   }system("pause");
  }
}

~~~~~~~~~~~~~~~~

為什麼一直CE呢??

請求各位大大幫忙找出問題所在

#5408: Re:誰可以幫我用c++的語法找出錯在哪裡~拜託拜託~


grd (保持好奇心)


        if(d==1)
        cout<<"非質數"<endl;
        else
        cout<<"質數"<endl;

 

.....CE問題自己解決吧,dev c++ compiler都有寫這句有問題啊=_ =

難道你沒先測過就丟上來了?

 

另外這個做法會TLE...另外,d==1的話會出問題 (如果d++  超過一次呢?)