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