计算n代兔子数
来源:互联网 发布:阿里云幕布怎么申请 编辑:程序博客网 时间:2024/05/18 17:04
古典问题:有一只大兔子,大兔子每个月生一只小兔子,第二个月小兔子会长成大兔子,假如兔子都不死,问第N个月的兔子总数为多少?
解法一、循环
1 public long sumRubbit1(int n){ 2 long total = 0; //兔子总数 3 int big = 1; //大兔子总数 4 int middle = 0; //中兔子总数 5 int little = 0; //小兔子总数 6 if(n==1){ 7 total = big; 8 }else if(n==2){ 9 little = big;10 total = big+little;11 }else{12 little = big;13 int beforMiddle =0; //上个月的中兔子总数14 for(int i=3;i<=n;i++){15 beforMiddle = middle;16 middle = little; //中兔子数=上月小兔子数17 little = big; //小兔子数=上月大兔子数18 big = big +beforMiddle; //大兔子数=上月大兔子数+上月中兔子数19 total = big+middle+little;20 }21 }22 return total;23 }
解法一思路如下:
解法二、递归
1 public long sumRubbit2(int n){ 2 long total = 0; //兔子总数 3 if(n==1){ 4 total = 1; 5 }else if(n==2){ 6 total = 2; 7 }else if(n==3){ 8 total = 3; 9 }else{10 total = sumRubbit2(n-1)+sumRubbit2(n-3);11 }12 return total;13 }
解法二思路如下:如下例子
0 0
- 计算n代兔子数
- 兔子迭代问题
- 兔子数
- 组合数计算Com(n,r)
- 计算组合数C(m,n)
- 计算一个数的n次方
- 计算一个数的N次方
- 计算组合数C(n,m)
- 组合数C(n,m)的计算
- 排列数A(n, m)的计算
- 一起来数兔子
- 洛谷 P1362 兔子数
- 归纳法数兔子
- 兔子只数问题
- 数兔子问题
- N次水仙花数的计算及优化
- java ---- Applet 计算第n个斐波那契序列数!
- PKU_1002 浮点数N次方的精确计算
- LIS-二分查找模版
- VS+Qt开发环境搭建
- 冒牌排序算法详解
- IOC 与 AOP
- B/S模式的底层socket通讯练习
- 计算n代兔子数
- Android 仿QQ消息提示,相册选择对话框
- MySocket服务器与客户端的相互响应
- Android开源项目之android-menudrawer示例演示
- linux make menuconfig 执行流程小结
- J2SE小结
- 解决使用VMware克隆出来的新虚拟机无法联网的问题
- js-dom操作的属性及方法
- gulp和bower工具的环境搭建以及使用介绍