题解 | #质数因子#

质数因子

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);
})();

全部评论

相关推荐

04-27 15:01
早稲田大学 Java
牛客72191338...:可能是时间点的问题,四月底机会确实会相对少点,但佬这个学历摆在这,会有机会的
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务