javascript 解答

质数因子

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

let input = readline()
let zhishuArr = []

function isZhishu(num){// 判断是否是质数
  //console.log(num)
  if(num < 5) {
    if(num===2||num===3) return true
  }
  for(let i=2; i<Math.sqrt(num); i++) {
    if(num%i===0) { // 不是质数
      return false
    }
  }
  return true
}
function zhishu(n,r) { // 递归
  let is_zhishu = isZhishu(n)
  //console.log(is_zhishu)
  if(!is_zhishu) {
    while(n>2){
      if(n%r===0){
        if(isZhishu(r)) {
          zhishuArr.push(r)
          //print(r)
          n = n/r
        }
        else{
          return zhishu(r, 2)
        }
      }else{ // n 是质数
        r++
      }
    }
  }else {
    zhishuArr.push(n)
    //print(r)
  }
}

zhishu(input, 2)

//print(zhishuArr)
print(zhishuArr.join(' ').concat(' '))
全部评论
不行
点赞 回复 分享
发布于 2021-04-04 11:31
有问题啊
点赞 回复 分享
发布于 2021-07-25 10:36

相关推荐

01-23 19:12
门头沟学院 Java
榨出爱国基因:你还差 0.1% 就拿到校招礼盒,快叫朋友给你砍一刀吧
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务