最大公因數c語言

在C語言中,你可以使用以下代碼來找出兩個數字的最大公因數(Greatest Common Divisor, GCD):

#include <stdio.h>

int gcd(int a, int b) {
    if (b == 0) {
        return a;
    }
    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來計算兩個數字的GCD。遞歸的基礎條件是當第二個數字為0時,返回第一個數字,這時第一個數字就是它們的GCD。否則,函數會繼續遞歸,直到基礎條件成立。

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

請注意,這個程式假設ab是非負整數。如果你需要處理負數,你可能需要對代碼進行修改。此外,如果你需要處理非常大的數字,你可能需要使用更高效的算法,例如埃拉托斯特尼篩法(Eratosthenes' sieve)。