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(' '))


基恩士成长空间 426人发布