黑马程序员技术交流社区
标题:
兔子问题
[打印本页]
作者:
374856298
时间:
2015-4-28 21:57
标题:
兔子问题
JAVA经典算法40例
【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
public class exp2{
public static void main(String args[]){
int i=0;
for(i=1;i<=20;i++)
System.out.println(f(i));
}
public static int f(int x)
{
if(x==1 || x==2)
return 1;
else
return f(x-1)+f(x-2);
}
}
或
public class exp2{
public static void main(String args[]){
int i=0;
math mymath = new math();
for(i=1;i<=20;i++)
System.out.println(mymath.f(i));
}
}
class math
{
public int f(int x)
{
if(x==1 || x==2)
return 1;
else
return f(x-1)+f(x-2);
}
}
作者:
神话归来99
时间:
2015-4-28 22:02
本题考察了裴波纳契数数列,主要利用递归思想来解决问题,递归就是自己调用自己,通过设定一个结束条件,然后再从结束调节往前推导,在本题中,结束条件为x==1 || x==2,满足条件则返回1,否则返回F(x-1)+f(x-2)。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2