TypeScript 陣列的求最大公因數(greatestCommonFactor)

TypeScript 是一種 JavaScript 的超集,它擁有 JavaScript 的所有功能,並且提供了額外的特性,例如類型檢查和靜態分析。TypeScript 支援陣列,可以用來計算最大公因數(greatestCommonFactor)。

什麼是最大公因數?

最大公因數(greatestCommonFactor)是指兩個或多個數字共有的最大的正整數因數。例如,6 和 8 的最大公因數是 2,因為 2 是 6 和 8 的共同因數,且是最大的。

如何使用 TypeScript 計算最大公因數?

TypeScript 支援陣列,可以用來計算最大公因數。以下是一個簡單的範例,可以用來計算兩個數字的最大公因數:

function greatestCommonFactor(a: number, b: number): number {
    let arrA = [];
    let arrB = [];
    let result = 0;

    // 將 a 與 b 的因數放入陣列
    for (let i = 1; i <= a; i++) {
        if (a % i == 0) {
            arrA.push(i);
        }
    }
    for (let i = 1; i <= b; i++) {
        if (b % i == 0) {
            arrB.push(i);
        }
    }

    // 比較兩個陣列,找出最大公因數
    for (let i = 0; i < arrA.length; i++) {
        for (let j = 0; j < arrB.length; j++) {
            if (arrA[i] == arrB[j]) {
                result = arrA[i];
            }
        }
    }

    return result;
}

let a = 6;
let b = 8;
let gcf = greatestCommonFactor(a, b);
console.log(`${a} 和 ${b} 的最大公因數是 ${gcf}`);

在上面的程式碼中,我們首先定義了一個函式 greatestCommonFactor(),它接受兩個參數,分別是要求最大公因數的兩個數字。接著,我們將兩個數字的因數放入兩個陣列中,然後比較兩個陣列,找出最大公因數。最後,我們將結果輸出到控制台。

上面的程式碼可以用來計算兩個數字的最大公因數,但是如果要計算多個數字的最大公因數,就需要改寫一下程式碼:

function greatestCommonFactor(arr: number[]): number {
    let result = 0;

    // 將陣列中的每個數字的因數放入陣列
    let arrA = [];
    for (let i = 0; i < arr.length; i++) {
        let tempArr = [];
        for (let j = 1; j <= arr[i]; j++) {
            if (arr[i] % j == 0) {
                tempArr.push(j);
            }
        }
        arrA.push(tempArr);
    }

    // 比較陣列,找出最大公因數
    for (let i = 0; i < arrA[0].length; i++) {
        let isCommonFactor = true;
        for (let j = 0; j < arrA.length; j++) {
            if (arrA[j].indexOf(arrA[0][i]) == -1) {
                isCommonFactor = false;
                break;
            }
        }
        if (isCommonFactor) {
            result = arrA[0][i];
        }
    }

    return result;
}

let arr = [6, 8, 12];
let gcf = greatestCommonFactor(arr);
console.log(`${arr} 的最大公因數是 ${gcf}`);

在上面的程式碼中,我們定義了一個函式 greatestCommonFactor(),它接受一個參數,是一個包含多個數字的陣列。接著,我們將陣列中的每個數字的因數放入陣列,然後比較陣列,找出最大公因數。最後,我們將結果輸出到控制台。

使用 TypeScript 的陣列,可以很容易地計算最大公因數,不論是兩個數字還是多個數字。這樣可以讓我們更快速地計算出最大公因數,並且可以更容易地維護程式碼。

總結

TypeScript 支援陣列,可以用來計算最大公因數(greatestCommonFactor)。使用 TypeScript 的陣列,可以很容易地計算最大公因數,不論是兩個數字還是多個數字。這樣可以讓我們更快速地計算出最大公因數,並且可以更容易地維護程式碼。

Categorized in:

Tagged in: