题解 | #统计每个月兔子的总数#

统计每个月兔子的总数

http://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395

//每个月的成年兔子 = 上个月的成年兔子 + 上个月2月小兔子
//每个月的1月兔子 = 本月成年兔子
//每个月的2月兔子 = 上个月的1月兔子
//定义3个数组,rabbitParent、rabbitChild1、rabbitChild2分别代表成年兔子、1月兔子、2月兔子
// rabbitParent[i] = rabbitParent[i-1] + rabbitChild2[i-1]
// rabbitChild1[i] = rabbitParent[i]
// rabbitChild2[i] = rabbitChild1[i-1]
// 代入化简
// rabbitParent[i] = rabbitParent[i-1] + rabbitParent[i-2]
// rabbitChild1[i] = rabbitParent[i]
// rabbitChild2[i] = rabbitChild1[i-1] = rabbitParent[i-1]

function getRabbitNum(month){
    let rabbitParent=[0,0,1];
    let rabbitChild1=[1,0,1];
    let rabbitChild2=[0,1,0];
    
    for(let i = 3;i < month;i++){
      rabbitParent.push(rabbitParent[i-1] + rabbitParent[i-2])
      rabbitChild1.push(rabbitParent[i])
      rabbitChild2.push(rabbitParent[i-1])
    }
    
    let result = (rabbitParent[month-1] || 0) + (rabbitChild1[month-1] || 0) +(rabbitChild2[month-1] || 0)
    return result;
}

let line
while(line=parseInt(readline())){
    console.log(getRabbitNum(line))
}
全部评论

相关推荐

05-26 22:25
门头沟学院 Java
Java小肖:不会是想叫你过去把你打一顿吧,哈哈哈
点赞 评论 收藏
分享
05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
实习,投递多份简历没人回...
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 10:39
一个证都没&nbsp;我能填什么
凉风落木楚山秋:空白不是说你没证吧,有实践也行
点赞 评论 收藏
分享
评论
4
1
分享

创作者周榜

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