#4523: 幫忙看看哪裡錯


ray9592197 (綿羊駝)

學校 : 臺北市立建國高級中學
編號 : 14136
來源 : [61.230.227.30]
最後登入時間 :
2017-01-06 13:48:59
a007. 判斷質數 | From: [163.20.242.142] | 發表日期 : 2010-11-10 13:00

小弟是用c++

程式碼如下 在電腦上顯示ok

船上來卻顯示ce

#include <iostream>
using namespace std;
int main()
{
         
          unsigned long Num,Num2,bh;
          char a;
          bool temp;
          again:
          cin >> Num;
          Num2 = Num / 2;
          temp = true;
          for (unsigned long i = 2;i <= Num2;i++)
          {
                  if (Num % i == 0)
                  {
                  temp = false;
                  goto exit;
                  }
          }
          exit:
          if (temp == false)
          cout << "\非質數。\n";
          else
          cout << "\質數。\n";
          system("pause");
          return 0;
}
 

 
#4525: Re:幫忙看看哪裡錯


a968574123 (DiMo)

學校 : 國立中央大學
編號 : 11752
來源 : [220.133.180.195]
最後登入時間 :
2020-11-14 23:56:33
a007. 判斷質數 | From: [140.115.200.5] | 發表日期 : 2010-11-10 14:08

小弟是用c++

程式碼如下 在電腦上顯示ok

船上來卻顯示ce

#include
using namespace std;
int main()
{
         
          unsigned long Num,Num2,bh;
          char a;
          bool temp;
          again:         

          cin >> Num;//要反覆執行的話用WHILE

          Num2 = Num / 2;//應該改成Num的二分之一"次方",不然會逾時

          temp = true;

          for (unsigned long i = 2;i <= Num2;i++)
          {
                  if (Num % i == 0)
                  {
                  temp = false;
                  goto exit;//建議不要用GOTO 這邊用BREAK就可以了                  }
          }
          exit:
          if (temp == false)
          cout << "\非質數。\n";
          else
          cout << "\質數。\n";
          system("pause");
          return 0;
}
 

#include <iostream> 
#include <math.h>
using namespace std;
int main()
{
          
    int Num;
    bool temp;
          
    while (cin >> Num)
    {
          temp = true;
          for (int i = 2;i <= sqrt(Num);i++)
          {
                  if (Num % i == 0)
                  {
                  temp = false;
                  break;
                  }
          }
          
          if (temp == false)
          cout << "非質數" <<endl;
          else
          cout << "質數" <<endl;
    }
          return 0;
}
改了很多地方XD
會CE應該是因為GOTO? 
 
ZeroJudge Forum