題目連結: 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; | |
} | |
} |