题解 | #汽水瓶#

汽水瓶

http://www.nowcoder.com/practice/fe298c55694f4ed39e256170ff2c205f

1.观察一下规律

  • 1=》0
  • 2=》1
  • 3=》1
  • 4=》2
  • 5=》2
  • 6=》3
  • 7=》3
  • 其实就是相当于 输入/2之后向下取整可以借助parseInt()的特性
let read;
while(read = parseInt(readline())){
    let num = parseInt(read/2);
    if(num!==0){
        console.log(num);
    }
    
}

2.递归

let read;
 
function trun(num,count=0){
    if(num === 0||num===1) {
        return;
    }
    let pingNum = 3;
    let x = parseInt(num/pingNum);
    let y = num%pingNum;
    count += parseInt(num/pingNum);
    if(x+y === 1){
        console.log(count);
        return;
    }
    if(x+y === 2){
        console.log(++count);
        return;
    }
    return trun((x + y),count);
}
 
while(read = readline()) {
    trun(read)
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务