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