問題如何用C語言求出兩個數的公約數?
回公約數是指兩個或多個整數共有的約數中的一個。求公約數的算法有很多種,這里介紹簡單易懂的算法實現。
1. 輸入兩個整數a和b。
2. 如果a小于b,交換a和b的值。
3. 如果b等于0,則返回a。
4. 將a除以b,得到余數r。
5. 如果r等于0,則返回b。
6. 否則,將b賦值為r,返回第3步。
```clude
tain() {t a, b, r, gcd;tf("請輸入兩個整數");f("%d %d", &a, &b);
if (a< b) {tp = a;
a = b;p;
}
while (b != 0) {
r = a % b;
a = b;
b = r;
}
gcd = a;tf("公約數為%d", gcd); 0;
例如,輸入兩個整數12和16,程序輸出公約數為4。
解釋首先將a和b的值分別賦為12和16,由于12小于16,所以交換它們的值。然后進行循環,次循環時,a除以b得到余數4,將b的值賦為4,繼續循環;第二次循環時,a除以b得到余數0,返回b的值4作為公約數。