程序书算法精题–JS版
- 将一个正整数分解质因数. 如: 输入 90, 打印出90 = 2 * 3 * 3 * 5
分析
先拆分这个整数90, 利用for循环 + if 分解质因数, 并追到到数组中;
Array.prototype.push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度;
最后遍历数组, 通过String.prototype.substring() 拼出90 = 2 * 3 * 3 * 5效果.
源码
// 存储因式分解的值
let arr = [];
// 打印的值
let print;
function PrimeFactorizer(n) {
print = '' + n +' ='
for (let i = 2 ; i <= n; i++) {
if (n % i == 0) {
n /= i;
arr.push(i);
i--;
}
}
arr.forEach(elem => {
print += ' * ' + elem
})
console.log(print.substring(0, 4) + print.substring(6, print.length));
}
PrimeFactorizer(90);
console