#6673: Re:為什麼逾時呢


AMC (dorameon2@)

學校 : 國立新竹高級中學
編號 : 22407
來源 : [61.31.134.210]
最後登入時間 :
2012-11-18 08:41:12
a007. 判斷質數 | From: [61.31.130.25] | 發表日期 : 2012-06-05 18:08

#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 (綠蔭)

學校 : 不指定學校
編號 : 26267
來源 : [220.135.38.212]
最後登入時間 :
2012-10-05 20:36:21
a007. 判斷質數 | From: [1.164.16.215] | 發表日期 : 2012-07-09 23:59

#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)[你也可以原來程式自己試試看],會發現程式停不下來,然後就超時了。 

 
ZeroJudge Forum