C語言求最大公因數
在C語言中,你可以使用埃拉托斯特尼篩法(Eratosthenes' sieve)來找出兩個數字的最大公因數(Greatest Common Divisor, GCD)。這個算法也稱為歐幾里得算法,因為它是由古希臘數學家歐幾里得提出的。
以下是一個使用埃拉托斯特尼篩法求兩個數字最大公因數的C語言示例:
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
int main() {
int a, b;
printf("請輸入兩個數字以計算它們的最大公因數:");
scanf("%d %d", &a, &b);
int gcd_value = gcd(a, b);
printf("最大公因數是:%d\n", gcd_value);
return 0;
}
這個程式首先定義了一個函數gcd
,它接收兩個整數a
和b
,並返回它們的最大公因數。如果b
為0,那麼a
就是它們的GCD;否則,函數會繼續調用自身,將b
和a
除以b
的餘數作為新的參數。這樣,函數會一直遞歸調用直到b
為0為止。
在main
函數中,程式要求用戶輸入兩個數字,並使用scanf
函數讀取輸入。然後,程式調用gcd
函數來計算這兩個數字的GCD,並使用printf
函數輸出結果。
請注意,在實際的C語言編程中,你可能需要對輸入進行驗證和錯誤處理,以確保程式的健壯性。例如,你可能需要檢查用戶是否輸入了有效的數字,以及是否有一個數字為0(因為如果b
為0,那麼a
就是它們的GCD,不需要再進行計算)。