阿摩線上測驗 登入

申論題資訊

試卷:96年 - 096年身心障礙人員資訊處理(四等)#36107
科目:程式設計
年份:96年
排序:0

申論題內容

一、不限使用語言,設計一程式,計算兩正整數的最大公因數,輸入兩正整數 a 和 b, 輸出 a 和 b 的最大公因數。(25 分)

詳解 (共 1 筆)

詳解 提供者:hchungw
計算兩個正整數的最大公因數(GCD,Greatest Common Divisor)可以使用歐幾里得算法,這是一個高效的方法。歐幾里得算法基於這樣一個原理:兩個整數的最大公因數和這兩個整數的差的最大公因數相同。具體來說,對於兩個整數a和b,其中a > b,它們的最大公因數等於a除以b的餘數和b的最大公因數。
以下是用C語言實現的計算兩個正整數a和b的最大公因數的函式,以及一個主函式用於從用戶那裡獲取這兩個數並顯示它們的最大公因數:
c
Copy code
#include <stdio.h>
// 定義計算最大公因數的函式
int gcd(int a, int b) {
    while (b != 0) {
        int t = b;
        b = a % b;
        a = t;
    }
    return a;
}
int main() {
    int a, b;
    printf("Enter two positive integers: ");
    scanf("%d %d", &a, &b);
    printf("The greatest common divisor of %d and %d is %d\n", a, b, gcd(a, b));
    return 0;
}
這段代碼首先定義了一個名為gcd的函式,該函式使用歐幾里得算法計算兩個數字的最大公因數。在主函式main中,程序將從用戶那裡讀取兩個正整數,然後調用gcd函式來計算並打印這兩個數字的最大公因數。