使用 JavaScript 計算一個數字的約數
問題
我們需要編寫一個 JavaScript 函式,該函式將一個數字作為輸入,並返回其除數的計數。
輸入
const num = 30;
輸出
const output = 8;
因為除數是
1, 2, 3, 5, 6, 10, 15, 30
示例
以下是程式碼
const num = 30;
const countDivisors = (num = 1) => {
if (num === 1) return num
let divArr = [[2, 0]]
let div = divArr[0][0]
while (num > 1) {
if (num % div === 0) {
for (let i = 0; divArr.length; i++) {
if (divArr[i][0] === div) {
divArr[i][1] += 1
break
} else {
if (i === divArr.length - 1) {
divArr.push([div, 1])
break
}
}
}
num /= div
} else {
div += 1
}
}
for (let i = 0; i < divArr.length; i++) {
num *= divArr[i][1] + 1
}
return num
}
console.log(countDivisors(num));輸出
8
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP