最大公因數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
列印出結果。
請注意,這個程式假設a
和b
是非負整數。如果你需要處理負數,你可能需要對代碼進行修改。此外,如果你需要處理非常大的數字,你可能需要使用更高效的算法,例如埃拉托斯特尼篩法(Eratosthenes' sieve)。