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,它接收兩個整數ab,並返回它們的最大公因數。如果b為0,那麼a就是它們的GCD;否則,函數會繼續調用自身,將ba除以b的餘數作為新的參數。這樣,函數會一直遞歸調用直到b為0為止。

main函數中,程式要求用戶輸入兩個數字,並使用scanf函數讀取輸入。然後,程式調用gcd函數來計算這兩個數字的GCD,並使用printf函數輸出結果。

請注意,在實際的C語言編程中,你可能需要對輸入進行驗證和錯誤處理,以確保程式的健壯性。例如,你可能需要檢查用戶是否輸入了有效的數字,以及是否有一個數字為0(因為如果b為0,那麼a就是它們的GCD,不需要再進行計算)。