题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on("line", function (line) {
const factors = primeFactors(+line);
console.log(factors.join(" "));
});
function primeFactors(n: number): number[] {
const factors: number[] = [];
// 循环找出 2 是不是 n 的质因子
while (n % 2 === 0) {
factors.push(2);
n /= 2;
}
for (let i = 3; i <= Math.sqrt(n); i += 2) {
while (n % i === 0) {
factors.push(i);
n /= i;
}
}
if (n > 2) {
factors.push(n);
}
return factors;
}