題目連結: https://zerojudge.tw/ShowProblem?problemid=a024
# 內容
給定兩個數字,請得出它們的最大公因數
# 輸入
輸入資料若干行直到 EOF 為止。每行包含兩個整數,以空白鍵隔開,兩個整數均 大於 0, 小於 231
# 輸出
輸出兩個整數的最大公因數
# 解題思路
輾轉相除法
http://www.mathland.idv.tw/fun/euclidean.htm
總是拿較大的數除以較小的數,當其中一數變成 0,另外一個數就是最大公因數
# 程式碼
| #include <iostream> | |
| using namespace std; | |
| int main() | |
| { | |
| int a,b,r; | |
| while (cin>>a>>b) | |
|     { | |
|         do | |
|         { | |
| r = a % b; | |
| a = b; // 為下一次的迴圈做準備 | |
| b = r; // 為下一次的迴圈做準備 | |
| } while (r); | |
| cout << a << endl; | |
|     } | |
| } | 
