#30125: 第一種解答 (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:29

透過輾轉相除法,做出互除得餘數的動作

#include<iostream>
using namespace std;

int main()
{
    int a, b;
    while (cin >> a >> b)
    {
        while (a != 0 and b != 0)  //彼此互除,直到其中一方為0
        {
            if (a >= b)
            {
                a = a % b;
            }
            else if (b > a)
            {
                b = b % a;
            }
        }

        //要輸出答案時,輸出非0的那一項

        if (a >= b)
        {
            cout << a << endl;
        }
        else
        {
            cout << b << endl;
        }
    }

    return 0;
}

 
ZeroJudge Forum