黑马程序员技术交流社区

标题: 用斐波那契数列了解递归问题 [打印本页]

作者: 璇伶    时间: 2015-4-25 16:30
标题: 用斐波那契数列了解递归问题
本帖最后由 璇伶 于 2015-4-26 08:31 编辑

一:递归算法:
递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用

函数(或过程)来表示问题的解。
一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程

(或函数)
二:递归算法解决问题的特点:
(1) 递归就是在过程或函数里调用自身。
(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口

三:设计递归算法
1.确定递归公式:此题:F(n)=F(n-1)+F(n-2).注:F(n)表示第n项数
2.确定边界(终了)条件:n等于1或2

  1. import java.util.Scanner;
  2. /**
  3. * @author Administrator
  4. */
  5. public class Test4 {

  6.         /**
  7.          * @param args
  8.          */
  9.         public static void main(String[] args) {
  10.                 // TODO 自成的方法存根
  11.                 System.out.println("请输入小于30的正整数");
  12.                 Scanner input = new Scanner(System.in);
  13.                 int x = input.nextInt();
  14.                 System.out.println(x + "所对应的斐波那契数:" +

  15. fabnacii(x));                        
  16.         }
  17.         /**
  18.          *斐波那契数求解
  19.          */
  20.         public static int fabnacii(int n) {
  21.                         if(n==1||n==2)
  22.                                 return 1;//递归出口                 
  23.                         return fabnacii(n-1)+fabnacii(n-2);

  24.         }
  25.                
  26.         }
复制代码









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