題目連結: https://zerojudge.tw/ShowProblem?problemid=a024

# 內容

給定兩個數字,請得出它們的最大公因數

# 輸入

輸入資料若干行直到 EOF 為止。每行包含兩個整數,以空白鍵隔開,兩個整數均 大於 0, 小於 231

# 輸出

輸出兩個整數的最大公因數

# 解題思路

輾轉相除法
http://www.mathland.idv.tw/fun/euclidean.htm

總是拿較大的數除以較小的數,當其中一數變成 0,另外一個數就是最大公因數

# 程式碼

#include <iostream>
using namespace std;
int main()
{
    int a,b,r;
    while (cin>>a>>b)
    {
        do
        {
            r = a % b;
            a = b; // 為下一次的迴圈做準備
            b = r; // 為下一次的迴圈做準備
        } while (r);
        cout << a << endl;
    }
}
更新於 閱讀次數

用實際行動犒賞爆肝的我😀

Zrn Ye LinePay

LinePay