最後一種解答,我採用的是「遞迴」的方法。
#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);
}
}