#30126: 第二種解答 (c++版)


10730094@ms2.hssh.tp.edu.tw (給開司一份薯片)

學校 : 不指定學校
編號 : 172670
來源 : [180.177.114.33]
最後登入時間 :
2023-01-01 23:20:42
a738. 最大公约数 -- 海豚原创 | From: [36.229.106.10] | 發表日期 : 2022-04-30 13:36

一樣是透過輾轉相除法,但與第一種解答不同的是,這次我將b固定為餘數。

因此,我只需要檢查b是否為0就好了。

若b為0,則當時的a必為最大公因數。

#include<iostream>
using namespace std;
int main() {
    int temp, a, b;
    while (cin >> a >> b) {
        while (b != 0) {
            temp = b;
            b = a % b;
            a = temp;
        }
        cout << a << endl;
    }
    return 0;
}

 
ZeroJudge Forum