在《詳解如何透過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()來查看輸出訊息,如下:
顯而易見15、16、17的因數分別是[1,3,5,15]、[1,2,4,8,16]、[1,17]。
上述程式碼中,需要大家了解的方法有:
sqrt()
方法:可傳回一個數的平方根;
→註:Math.pow() 方法可以計算一個數的任次根。
floor()
方法:可對一個數進行下捨入;
##→註:floor() 方法執行的是向下取整計算,它傳回的是小於或等於函數參數,並且與之最接近的整數。
push()方法:可在陣列的末端新增一個或多個元素,並傳回新的長度;
sort()
方法:用於對陣列的元素進行排序。
最後推薦給大家推薦《
JavaScript基礎教學》~歡迎大家學習~
以上是用JavaScript計算一個正整數的因數的詳細內容。更多資訊請關注PHP中文網其他相關文章!