黑马程序员技术交流社区

标题: 斐波那契数列 [打印本页]

作者: lcl    时间: 2014-7-27 22:53
标题: 斐波那契数列
本帖最后由 lcl 于 2014-8-4 08:04 编辑

求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55  
这数列听都没听过。。。
作者: zippo    时间: 2014-7-27 23:07
本帖最后由 zippo 于 2014-7-27 23:14 编辑
  1. /*
  2. 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一
  3. 对兔子,假如兔子都不死,问每个月的兔子总数为多少?   1  1 2 3 5  8  13
  4. */

  5. class Demo1
  6. {
  7.         public static void main(String[] args)
  8.         {
  9.                 int month = -1;                                                                //定义一个变量month来存储月份
  10.                 System.out.println("兔子的总数为"+rabbit(month));
  11.         }
  12.         public static long rabbit(int month){                //计算兔子总数的函数
  13.                 if (month>=0)
  14.                 {
  15.                                 switch (month)                                                //switch判断month,因为month是在整型,有具体的值。用swtich比较方便。
  16.                         {
  17.                         case 0 :
  18.                                 return 0;                                                               
  19.                         case 1 :
  20.                                 return 1;
  21.                         default :
  22.                                 return rabbit(month - 1)+rabbit(month -2);
  23.                         }
  24.                 }else{
  25.                         System.out.println("输入错误啊。");
  26.                         return 0;
  27.                 }
  28.         }
  29. }
复制代码


作者: lcl    时间: 2014-7-27 23:12
zippo 发表于 2014-7-27 23:07

这是啥啊,怎么看不懂,和我的题目有关系吗
作者: zippo    时间: 2014-7-27 23:14
lcl 发表于 2014-7-27 23:12
这是啥啊,怎么看不懂,和我的题目有关系吗

我重新编辑了下,你再去看看,这是斐波那契的经典的兔子问题。
作者: 王乐乐    时间: 2014-7-27 23:17
使用递归很容易就可以得到。
作者: zhenfei    时间: 2014-7-27 23:21
从第三个数开始 它等于他前两个数相加的和
作者: 于龙超123    时间: 2014-7-27 23:24
不知道c语言,怎么实现?
作者: lcl    时间: 2014-7-28 06:32
王乐乐 发表于 2014-7-27 23:17
使用递归很容易就可以得到。

递归,我高中是文科,都没学过。。
作者: lcl    时间: 2014-7-28 06:42
于龙超123 发表于 2014-7-27 23:24
不知道c语言,怎么实现?

这个和C语言有关吗?
作者: 十指紧扣    时间: 2014-7-28 08:27
,数列还是听过的哈!!!!~!
作者: 導ぷ仙″兲蕐    时间: 2014-7-28 10:59
递归,表示没学过这数列
作者: liubea    时间: 2014-7-28 13:47
这个问题是用递归来处理,网上大把的代码,建议楼主去搜下
作者: 于龙超123    时间: 2014-8-19 19:25
关于这个破数列有三种解决方法,用递归比较方便!
作者: rolling-stone    时间: 2014-8-19 22:29
前两项之和等于第三项,这个很简单,是很基础的问题.
作者: 大★宝    时间: 2014-8-20 10:11
1. 裴波纳契数列的概念:从第三个数起,每个数都是前两数之和,这个数列则称为 “斐波纳契数列”,其中每个数字都是“斐波纳契数”。
作者: ﹑淼    时间: 2014-8-20 10:18
lcl 发表于 2014-7-27 23:12
这是啥啊,怎么看不懂,和我的题目有关系吗

现在不就听说了吗
作者: 我行我SHOW‰    时间: 2014-8-20 17:58
使用递归是最好的方法,貌似在马士兵的视频中有看到~~~
作者: Bule丶    时间: 2014-8-20 23:22
这个貌似听过




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2