U86981【模板】最大公約數
最大公約數(Greatest Common Divisor, GCD),又稱為最大公因數,是指兩個或更多整數的共有最大因子。在數學中,通常使用歐幾里得算法(Euclidean algorithm)來計算兩個整數的最大公約數。
以下是一個簡單的C語言模板,用來計算兩個整數a和b的最大公約數:
#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
,它接受兩個整數a
和b
作為參數,並返回它們的最大公約數。函數的邏輯是基於歐幾里得算法的:如果b
是0,那麼a
就是最大公約數;否則,繼續調用函數本身,將a
和a
除以b
的餘數作為新的參數。
在主函數main
中,程式首先要求用戶輸入兩個整數,然後調用gcd
函數來計算它們的最大公約數,並將結果列印出來。
請注意,這個模板假設a
和b
都是正整數。如果你需要處理負數或非整數,你可能需要對這個模板進行修改。此外,如果你的編譯器支持C11標準或更新的版本,你可以在main
函數中使用scanf_s
代替scanf
,以獲得更好的安全性。