黑马程序员技术交流社区
标题:
求解一个古典问题??
[打印本页]
作者:
雨祭
时间:
2015-1-4 20:19
标题:
求解一个古典问题??
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死, 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
作者:
(_演绎、青春
时间:
2015-1-4 21:20
public static void main(String[] args){
// 用数组做
int[] arr = new int[20];
arr[0] = 1;
arr[1] = 1;
// arr[2] = arr[0] + arr[1];
// arr[3] = arr[1] + arr[2];
// arr[4] = arr[2] + arr[3];
// ...
// arr[19] = arr[17]+arr[18]
for (int x = 2; x < arr.length; x++) {
arr[x] = arr[x - 2] + arr[x - 1];
}
System.out.println(arr[19]); // 6765
System.out.println("------------------------------------------------------------");
// 变量的交换实现
int a = 1;
int b = 1;
for (int x = 0; x < 18; x++) {
// 定义临时变量,记录以前的a
int temp = a;
a = b;
b = temp + b;
}
System.out.println(b);
System.out.println("------------------------------------------------------------");
// 用递归实现
System.out.println(fib(20));
}
/*
* 递归其实就是方法调用方法本身: 假设fib(n)表示第n个月的兔子对数。 第n-1个月和第n-2个月的兔子对数:
* fib(n-1),fib(n-2)
*/
public static int fib(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fib(n - 2) + fib(n - 1);
}
}
复制代码
作者:
牛牛宝
时间:
2015-1-4 21:29
有点像斐波那契数列的规律
作者:
只会金克斯
时间:
2015-1-4 22:11
2楼明显是大神
作者:
zhangyaya
时间:
2015-1-4 22:33
牛牛宝 发表于 2015-1-4 21:29
有点像斐波那契数列的规律
就是斐波那契数列
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2