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

© 从未有过的晴天 中级黑马   /  2014-6-20 21:00  /  923 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55
*/

class  text1
{
        public static void main(String[] args)
        {
                int[] num=new int[30];
                num[0]=1;
                num[1]=1;
                //根据第n项=第n—1项+第n—2项的和写循环
                for(int i=2;i<30;i++)
                {
                         num[i]= num[i-1]+num[i-2];         
                }
                System.out.println(num[25]);
        }
}


3 个回复

倒序浏览
这个问题用递归调用更简单,快捷
  1. /*
  2. * 分析:
  3. *                         1)定义递归方法实现:
  4. *                                                                                                 a(n)=a(n-1)+a(n-2);
  5. *                         2)定义递归出口
  6. */
  7. public class 递归 {
  8.         public static void main(String[] args) {
  9.                 //调用递归方法
  10.                 int m=digui(29);
  11.                 System.out.println(m);
  12.         }
  13.         public static int digui( int n)
  14.         {
  15.                  if(n==1||n==2)
  16.                  {
  17.                          return 1;
  18.                  }
  19.                  else
  20.                  {
  21.                          return digui(n-1)+digui(n-2);
  22.                  }
  23.         }
  24. }
复制代码
回复 使用道具 举报
还没学到
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马