题解 | #质数因子#
质数因子
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; }