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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 半世心修 中级黑马   /  2015-5-30 09:04  /  536 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

递归,也就是程序调用自身的一种编程技巧。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。
递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
构成递归的条件:
1. 子问题须与原始问题为同样的事,且更为简单;
2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。
来个小栗子,也就是那个经典的兔子问题咯~
好久之前的小东西了,先找找:
  1. public static void main(String args[]){
  2.                 int i = 0 ;
  3.                 for(i=1;i<=10;i++)
  4.                         System.out.println(test(i));
  5.         }
  6.         public static int test(int x)
  7.         {
  8.                 if(x==1 || x==2)
  9.                         return 1;
  10.                 else
  11.                         return test(x-1)+test(x-2);
  12.         }
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马