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


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

School : No School
ID : 172670
IP address : [180.177.114.33]
Last Login :
2023-01-01 23:20:42
a738. 最大公约数 -- 海豚原创 | From: [36.229.106.10] | Post Date : 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