算法——兔子问题
2016-01-19 15:07
246 查看
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第3个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
package com.test.one;
public class Rabbit {
public static int CountRabbit(int months,int initNum){
int sum=2;
int lastNum=initNum;
int beforeLastNum=initNum;
int eachMonthNum=0;
if(months<=2){
return sum;
}
for(int i=2;i<months;i++){
eachMonthNum=lastNum+beforeLastNum;
sum=sum+eachMonthNum;//this month num
beforeLastNum=lastNum;
lastNum=eachMonthNum;
}
return sum;
}
public static void main(String[] args) {
//1,1,2,3,5,8 (couple)
int sum=0;//total couple
int months=6;//查看第6个月
int initNum=1;//init, 1 couple
sum=CountRabbit(months,initNum);
System.out.println("the total rabbit number is "+sum);
}
}
package com.test.one;
public class Rabbit {
public static int CountRabbit(int months,int initNum){
int sum=2;
int lastNum=initNum;
int beforeLastNum=initNum;
int eachMonthNum=0;
if(months<=2){
return sum;
}
for(int i=2;i<months;i++){
eachMonthNum=lastNum+beforeLastNum;
sum=sum+eachMonthNum;//this month num
beforeLastNum=lastNum;
lastNum=eachMonthNum;
}
return sum;
}
public static void main(String[] args) {
//1,1,2,3,5,8 (couple)
int sum=0;//total couple
int months=6;//查看第6个月
int initNum=1;//init, 1 couple
sum=CountRabbit(months,initNum);
System.out.println("the total rabbit number is "+sum);
}
}
相关文章推荐
- codevs 2928 你缺什么——搜索或模拟
- 读写锁(ReadWriteLock)的使用
- 产品 医疗健康app分析
- Docker源码分析(七):Docker Container网络 (上)
- (转)谈eclipse的jre配置
- Redis学习记录之persistence简析(二十五)
- 系统默认的size和density
- android textview设置字体的行距和字间距
- Linux 开机 logo 修改
- 使用node-inspector对Node.js进行调试
- Android中Notification的用法汇总
- Android属性动画深入分析:让你成为动画牛人
- 178_冒泡排序的交换次数(逆序数)
- Android:Moring-早安闹钟开发过程记录(四)
- 自定义控件解密整理
- Java ArrayList构造分析
- 数组去重
- FCGI模式LAMP跨三主机搭建详解
- Android开发使用的常见第三方框架汇总
- iOS icon图标尺寸