#6673: Re:為什麼逾時呢


AMC (dorameon2@)


#include<iostream>
#include<math.h>
using namespace std;
int main()
{
      int a,i,j=0;
      while(1)
      {
      cin>>a;
      if(a==1) cout<<"非質數"<<endl;
      else
      {
      for(i=2;i<=sqrt(a);i++)
      if(a%i==0) j++;
      
      if(j==0)
      cout<<"質數"<<endl;
      else
      cout<<"非質數"<<endl;
                  
      }
      j=0;
      }
     
      return 0;
}
#6754: Re:Re:為什麼逾時呢


sa850354 (綠蔭)


#include
#include
using namespace std;
int main()
{
      int a,i,j=0;
      while(cin>>a)
      {
      if(a==1) cout<<"非質數"<      else
      {
      for(i=2;i<=sqrt(a);i++)
      if(a%i==0) j++;
      
      if(j==0)
      cout<<"質數"<      else
      cout<<"非質數"<                  
      }
      j=0;
      }
     
      return 0;
}
 
建議你把 
      while(1)
      { 
      cin>>a;
改成
      while(cin>>a) 
不然你程式檢查退出時候(ctrl+z)[你也可以原來程式自己試試看],會發現程式停不下來,然後就超時了。