题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
// 运行超时 11/12 组用例通过 运行时间2001ms
// void (async function () {
// const isPrime = function(number){
// for(let i = 2; i < Math.sqrt(number); i ++){
// if(number % i === 0) return false;
// }
// return true;
// }
// let num = parseInt(await readline());
// const res = []
// for(let i = 2; i < num; i++){
// while(num % i === 0 && isPrime(i)) {
// num /= i;
// res.push(i);
// }
// }
// if(num != 1) res.push(num);
// console.log(...res)
// })();
// 不需要判断i是否为质数,当num%4===0时会在num%2的时候处理两次
void (async function () {
let num = parseInt(await readline());
const res = [];
for (let i = 2; i <= Math.sqrt(num); i++) {
if (num % i === 0) {
num /= i;
res.push(i);
i--;
}
}
if (num != 1) res.push(num);
console.log(...res);
})();

查看13道真题和解析
