黑马程序员技术交流社区
标题:
基础题1
[打印本页]
作者:
唱一些温暖
时间:
2015-12-27 16:17
标题:
基础题1
本帖最后由 唱一些温暖 于 2015-12-27 16:18 编辑
package Prog_50;
/*
* 题目:
* 有一对兔子,从出生后第3个月起每个月都生一对兔子,
* 小兔子长到第三个月后每个月又生一对兔子,
* 假如兔子都不死,问每个月的兔子对数为多少?
*
* 规律:
* 第几个月: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
* 兔子的对数: 1, 1, 2, 3, 5, 8,13,21,33, 55, 89,144,233,377,
*
*/
public class Prog1 {
public static void main(String[] args){
int x=5;
//方法1
System.out.println("第"+x+"个月兔子的对数:"+y(x));
//方法2
yy(5);
}
/*
* y1, y2, y3, y4, y5, y(x)
* 1, 1,y1+y2,y2+y3,y3+y4,y(x-2)+y(x-1),
*
* 当月份小于或等于2时,兔子的对数为1。
* 设x表示月份,y(x)表示当月数量,即为(x-2)上上个月,(x-1)上个月
* y(x-2)+y(x-1)就是x个月的数量。
* 即y(x)=y(x-2)+y(x-1);且x<=2时,y(x)=1,
*
*/
static int y(int x){
if(x<=2){
return 1;
}
return y(x-2)+y(x-1);
}
static void yy(int xx){
int y1=1;
int y2=1;
for(int x=1;x<=xx;x++){
System.out.println("第"+x+"个月兔子的对数:"+y1);
y2=y1+y2;
y1=y2-y1;
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2