#30127: 第三種解答 (c++版)


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

School : No School
ID : 172670
IP address : [1.171.129.57]
Last Login :
2022-09-27 19:51:01
a738. 最大公约数 -- 海豚原创 | From: [36.229.106.10] | Post Date : 2022-04-30 13:49

最後一種解答,我採用的是「遞迴」的方法。

#include<iostream>
using namespace std;
void gcd(int a, int b); //用此函數來找出最大公因數
int main() {
    int a, b;
    while (cin >> a >> b) {
        gcd(a, b);
    }
    return 0;
}
void gcd(int a, int b) {
    if (b == 0) {  //b為0就是餘數為0的情況,此時的a就是最大公因數
        cout << a << endl;
    }
    else {  //若b不為0,則將a變為b,b變成第一次輾轉相除後的餘數
        return gcd(b, a % b);
    }
}

 
ZeroJudge Forum