首頁 >web前端 >js教程 >用JavaScript計算一個正整數的因數

用JavaScript計算一個正整數的因數

藏色散人
藏色散人原創
2021-08-13 17:37:414035瀏覽

在《詳解如何透過javascript將兩個數進行相乘和相除》中給大家介紹瞭如何透過javascript將兩個數相乘和相除,有興趣的朋友可以學習學習~

本文的主題則是「如何寫一個JavaScript 函數來計算一個正整數的因數」?

那麼啥是因數?這屬於小學知識大家應該都知道吧,因數是指整數a除以整數b(b≠0) 的商正好是整數而沒有餘數,我們就說b是a的因數。

在了解什麼是因數之後,我們就可以輕鬆地透過js程式來實現計算一個正整數的因數了。

完整的實作程式碼如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset=utf-8 />
    <title></title>
</head>
<body>

<script>
    function factors(n)
    {
        var num_factors = [], i;

        for (i = 1; i <= Math.floor(Math.sqrt(n)); i += 1)
            if (n % i === 0)
            {
                num_factors.push(i);
                if (n / i !== i)
                    num_factors.push(n / i);
            }
        num_factors.sort(function(x, y)
        {
            return x - y;});  // 数字排序
        return num_factors;
    }
    console.log(factors(15));  // [1,3,5,15]
    console.log(factors(16));  // [1,2,4,8,16]
    console.log(factors(17));  // [1,17]
</script>
</body>
</html>

我們依舊透過console.log()來查看輸出訊息,如下:

用JavaScript計算一個正整數的因數

顯而易見15、16、17的因數分別是[1,3,5,15]、[1,2,4,8,16]、[1,17]。

上述程式碼中,需要大家了解的方法有:

sqrt()方法:可傳回一個數的平方根;

→註:Math.pow() 方法可以計算一個數的任次根。

floor()方法:可對一個數進行下捨入;

##→註:floor() 方法執行的是向下取整計算,它傳回的是小於或等於函數參數,並且與之最接近的整數。

push()方法:可在陣列的末端新增一個或多個元素,並傳回新的長度;

##→附註:此方法會改變陣列的長度,要想陣列的開頭添加一個或多個元素要使用unshift() 方法。

sort()

方法:用於對陣列的元素進行排序。

→附註:陣列在原始數組上進行排序,不產生副本。

最後推薦給大家推薦《

JavaScript基礎教學》~歡迎大家學習~

以上是用JavaScript計算一個正整數的因數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn