#1721: 請問為什麼一直出現WA(新手)


kevinballn (kevinballn)

學校 : 不指定學校
編號 : 6432
來源 : [59.114.33.149]
最後登入時間 :
2009-04-10 08:57:29
a024. 最大公因數(GCD) | From: [59.114.40.170] | 發表日期 : 2009-04-06 01:50

#include <iostream>
using namespace std;

 int gcd( int , int );

int main()
{
 int a, b;

 cout << "Enter two integers:";
 cin >> a >> b;

 cout << "The greatest common divisor of " << a << " and " << b << " is " << gcd(a,b) << endl;
 system("pause");
 return 0;
}


int gcd( int a, int b)
{
    if (b > a)
        return gcd(b, a);
    if (b == 0)
        return a;
 
    return gcd(b, a%b);
    
}

 
#1722: Re:請問為什麼一直出現WA(新手)


bleed1979 (Bleed)

學校 : 不指定學校
編號 : 1489
來源 : [203.204.21.29]
最後登入時間 :
2021-05-02 22:12:13
a024. 最大公因數(GCD) | From: [118.168.132.212] | 發表日期 : 2009-04-06 10:22

#include
using namespace std;

 int gcd( int , int );

int main()
{
 int a, b;

 cout << "Enter two integers:";
 cin >> a >> b;

 cout << "The greatest common divisor of " << a << " and " << b << " is " << gcd(a,b) << endl;
 system("pause");
 return 0;
}


int gcd( int a, int b)
{
    if (b > a)
        return gcd(b, a);
    if (b == 0)
        return a;
 
    return gcd(b, a%b);
    
}

多測資的題目會不斷給予資料來測試程式的正確性

這個程式只執行一次就結束了

所以不正確, 也不建議使用system("pause");

雖然我不確定這裡的judge是否可用

 

 
#1723: Re:請問為什麼一直出現WA(新手)


kevinballn (kevinballn)

學校 : 不指定學校
編號 : 6432
來源 : [59.114.33.149]
最後登入時間 :
2009-04-10 08:57:29
a024. 最大公因數(GCD) | From: [59.114.33.149] | 發表日期 : 2009-04-06 16:21

#include
using namespace std;

 int gcd( int , int );

int main()
{
 int a, b;

 cout << "Enter two integers:";
 cin >> a >> b;

 cout << "The greatest common divisor of " << a << " and " << b << " is " << gcd(a,b) << endl;
 system("pause");
 return 0;
}


int gcd( int a, int b)
{
    if (b > a)
        return gcd(b, a);
    if (b == 0)
        return a;
 
    return gcd(b, a%b);
    
}

多測資的題目會不斷給予資料來測試程式的正確性

這個程式只執行一次就結束了

所以不正確, 也不建議使用system("pause");

雖然我不確定這裡的judge是否可用

 

 

 

 迴圈我改成這樣

 while(1)
    {cout << "Enter two integers:";
 cin >> a >> b;

 cout << "The greatest common divisor of " << a << " and " << b << " is " << gcd(a,b) << endl;
}

 

 迴圈解決了卻出現這樣....

 

執行逾時(1s)!! 請檢查是否產生無限迴圈或尋找更好的演算法
可能原因為:
* 讀取測資視時未考慮到 EOF 導致等待過久,請參考 a001 的範例程式。
* 使用的演算法效率不夠

 
#1724: Re:請問為什麼一直出現WA(新手)


bleed1979 (Bleed)

學校 : 不指定學校
編號 : 1489
來源 : [203.204.21.29]
最後登入時間 :
2021-05-02 22:12:13
a024. 最大公因數(GCD) | From: [118.168.132.212] | 發表日期 : 2009-04-06 17:39

#include
using namespace std;

 int gcd( int , int );

int main()
{
 int a, b;

 cout << "Enter two integers:";
 cin >> a >> b;

 cout << "The greatest common divisor of " << a << " and " << b << " is " << gcd(a,b) << endl;
 system("pause");
 return 0;
}


int gcd( int a, int b)
{
    if (b > a)
        return gcd(b, a);
    if (b == 0)
        return a;
 
    return gcd(b, a%b);
    
}

多測資的題目會不斷給予資料來測試程式的正確性

這個程式只執行一次就結束了

所以不正確, 也不建議使用system("pause");

雖然我不確定這裡的judge是否可用

 

 

 

 迴圈我改成這樣

 while(1)
    {cout << "Enter two integers:";
 cin >> a >> b;

 cout << "The greatest common divisor of " << a << " and " << b << " is " << gcd(a,b) << endl;
}

 

 迴圈解決了卻出現這樣....

 

執行逾時(1s)!! 請檢查是否產生無限迴圈或尋找更好的演算法
可能原因為:
* 讀取測資視時未考慮到 EOF 導致等待過久,請參考 a001 的範例程式。
* 使用的演算法效率不夠

while(cin >> a >> b)

{

 
#1727: Re:請問為什麼一直出現WA(新手)


kevinballn (kevinballn)

學校 : 不指定學校
編號 : 6432
來源 : [59.114.33.149]
最後登入時間 :
2009-04-10 08:57:29
a024. 最大公因數(GCD) | From: [59.114.33.149] | 發表日期 : 2009-04-06 23:03

#include
using namespace std;

 int gcd( int , int );

int main()
{
 int a, b;

 cout << "Enter two integers:";
 cin >> a >> b;

 cout << "The greatest common divisor of " << a << " and " << b << " is " << gcd(a,b) << endl;
 system("pause");
 return 0;
}


int gcd( int a, int b)
{
    if (b > a)
        return gcd(b, a);
    if (b == 0)
        return a;
 
    return gcd(b, a%b);
    
}

多測資的題目會不斷給予資料來測試程式的正確性

這個程式只執行一次就結束了

所以不正確, 也不建議使用system("pause");

雖然我不確定這裡的judge是否可用

 

 

 

 迴圈我改成這樣

 while(1)
    {cout << "Enter two integers:";
 cin >> a >> b;

 cout << "The greatest common divisor of " << a << " and " << b << " is " << gcd(a,b) << endl;
}

 

 迴圈解決了卻出現這樣....

 

執行逾時(1s)!! 請檢查是否產生無限迴圈或尋找更好的演算法
可能原因為:
* 讀取測資視時未考慮到 EOF 導致等待過久,請參考 a001 的範例程式。
* 使用的演算法效率不夠

while(cin >> a >> b)

{

謝謝大大
 
ZeroJudge Forum