黑马程序员技术交流社区
标题:
斐波那契 数列 100个月的兔子数怎么求?
[打印本页]
作者:
岳鹏
时间:
2016-9-2 21:24
标题:
斐波那契 数列 100个月的兔子数怎么求?
斐波那契 数列 100个月的兔子数怎么求?
每个月对应兔子: 1,1,2,3,5,8,13,21.。。。。。。。。。
作者:
梦想的小草
时间:
2016-9-2 21:48
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];
// ...
for (int x = 2; x < arr.length; x++) {
arr[x] = arr[x - 2] + arr[x - 1];
}
System.out.println(arr[19]);
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));
}
方法: 返回值类型:int 参数列表:int n 出口条件: 第一个月是1,第二个月是1 规律: 从第三个月开始,每一个月是前两个月之和
public static int fib(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fib(n - 1) + fib(n - 2);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2