A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© (_演绎、青春 中级黑马   /  2015-1-10 23:26  /  1836 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 (_演绎、青春 于 2015-1-10 23:39 编辑
  1. /*思考题:兔子问题
  2. *古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
  3. *小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,
  4. *问第20个月的兔子对数为多少?
  5. */
  6. public class TuZi {
  7.         public static void main(String[] args) {
  8.                 // 用数组做
  9.                 int[] arr = new int[20];
  10.                 arr[0] = 1;
  11.                 arr[1] = 1;

  12.                 // arr[2] = arr[0] + arr[1];
  13.                 // arr[3] = arr[1] + arr[2];
  14.                 // arr[4] = arr[2] + arr[3];
  15.                 // ...
  16.                 // arr[19] = arr[17]+arr[18]
  17.                 for (int x = 2; x < arr.length; x++) {
  18.                         arr[x] = arr[x - 2] + arr[x - 1];
  19.                 }
  20.                 System.out.println(arr[19]); // 6765
  21.                 System.out
  22.                                 .println("------------------------------------------------------------");
  23.                 // 变量的交换实现
  24.                 int a = 1;
  25.                 int b = 1;
  26.                 for (int x = 0; x < 18; x++) {
  27.                         // 定义临时变量,记录以前的a
  28.                         int temp = a;
  29.                         a = b;
  30.                         b = temp + b;
  31.                 }
  32.                 System.out.println(b);
  33.                 System.out
  34.                                 .println("------------------------------------------------------------");

  35.                 // 用递归实现
  36.                 System.out.println(fib(20));
  37.         }

  38.         /*
  39.          * 递归其实就是方法调用方法本身: 假设fib(n)表示第n个月的兔子对数。 第n-1个月和第n-2个月的兔子对数:
  40.          * fib(n-1),fib(n-2)
  41.          */
  42.         public static int fib(int n) {
  43.                 if (n == 1 || n == 2) {
  44.                         return 1;
  45.                 } else {
  46.                         return fib(n - 2) + fib(n - 1);
  47.                 }
  48.         }
  49. }
复制代码


6 个回复

倒序浏览
斐波拉契数列啊。。。。。
回复 使用道具 举报
额  好难感觉
回复 使用道具 举报
outsider1020 发表于 2015-1-11 17:08
斐波拉契数列啊。。。。。

:lol是滴
回复 使用道具 举报

理清思路就不难啦 呵呵
回复 使用道具 举报
  好难感觉
回复 使用道具 举报
斐波拉契数列就是兔子问题吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马