兔子来了
2016-05-11 09:48
302 查看
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
第一个月:1 第二个月:1 第三个月:2 第四个月:3 第五个月:5 第六个月:8 第七个月:13 ...
规律: n(第n个月) = n-2 + n-1
从第三个月开始,当月的兔子数是之前两个月的和
public class RabbitCount{ public static void main(String[] args){ long month = Long.parseLong(args[0]); long final_count = 0; long month_1 = 1l; long month_2 = 1l; // 第一个月和第二个月兔子格式都是1,直接return if(month == 1 || month == 2){ final_count = month_1; sys(month, final_count); return; } /** * final_count 最为最终的输出结果 * 在改变 上个月个数-mouth_2 之前,需要将它记录下来 * 之后将 temp 赋值给 mouth_1 * 最后 final_count = month_2 + month_1 */ for(long i=3; i<month; i++){ long temp = month_2; month_2 = month_1 + month_2; month_1 = temp; final_count = month_2 + month_1; sys(month, final_count); } } public static void sys(long month, long count){ System.out.println("第 "+month+" 月,兔子的总数是: "+count); } }
相关文章推荐
- 理解 Objective-C Runtime
- Hadoop2源码分析-HDFS datanode核心模块分析
- HTTP 状态码
- Java 冒泡排序
- 大话设计模式java版--建造者模式
- Android内存优化之OOM
- iOS开发 - 音频相关
- 门面模式/外观模式
- Android 内功心法(1.5)——android常用设计模式之命令模式
- 打印
- 使用自带 cluster-reuters.sh 聚类使用
- 自定义 Date类型转换是报
- log4j 打印sql,按日期生成文件,生成文件位置
- stm32——RTC实时时钟
- Spring Remoting: HTTP Invoker--转
- 基于python的语言检测服务
- rem
- 团队作业(六)
- 泛型
- 通过UpdateManager升级ESXi主机到ESXi5.x