功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )
按照从小到大的顺序输出它的所有质数的因子,以空格隔开
输入 180
输出 2 2 3 3 5
let line = 180;
let sum = 2;
while (line > 1) {
if (line % sum === 0) {
num.push(sum);
line /= sum;
} else {
// 做循环限制,不然循环次数会过多
// 最小质子数不能大于他的平方根
if (sum < parseInt(Math.sqrt(line))) {
sum++;
} else {
sum = line;
}
}
}
console.log(num.join(" "));