题解 | #质数因子#

质数因子

http://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607

两层循环,

let N = parseInt(readline());

function PrimeFactor(n) {
  let k = Math.sqrt(n);
  let arr = [];
  for (let i = 2; i <= k; i++) {
    while (n % i == 0) {
      arr.push(i);
      n /= i;
    }
  }
  if (n != 1) arr.push(n);
  return arr.join(' ')
}

print(PrimeFactor(N));

一层循环

let num = parseInt(readline());
let arr = []; // 结果数组
let i = 2, k = Math.sqrt(num)
while (i <= k) {
  if (num % i === 0) {
    arr.push(i);
    num /= i;
    i = 2;
  } else i++
}
if (num != 1) arr.push(num);
console.log(arr.join(' '));



全部评论

相关推荐

08-21 16:35
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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