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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 静心明德 中级黑马   /  2015-4-15 22:10  /  1195 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 静心明德 于 2015-4-15 22:15 编辑

在学习java的过程中,感觉递归的思想很重要,而且有些题目利用递归是很好的解决手段,但是递归很难理解,尤其是像下面的两道小题。
  1. <p>//一个整数,大于0,不用循环和本地变量,按照 n,2n,4n,8n的顺序递增,当值大于5000时,把值按照指定顺序输出来。
  2. //递归算法题1
  3. public class Recursion1 {
  4.         public static void doubleNum(int n){
  5.                 System.out.println(n);               
  6.                 if(n <= 5000){
  7.                         doubleNum(n*2);                        
  8.                         System.out.println(n);
  9.                 }               
  10.         }        
  11.         public static void main(String[] args) {
  12.                 // TODO Auto-generated method stub
  13.                 Recursion1.doubleNum(2237);
  14.         }
  15. }</p><p> </p><p>//第1个人10岁,第2个比第1个人大2岁,依次递推,请用递归方式计算出第8个人多大?
  16. //递归算法题2
  17. public class Recursion2 {

  18.         public static int computeAge(int n){
  19.                 if(n==1)
  20.                         return 10;
  21.                 return computeAge(n-1) + 2;
  22.         }
  23.         
  24.         public static void main(String[] args) {
  25.                 // TODO Auto-generated method stub
  26.                 System.out.println(computeAge(8));
  27.         }
  28. }</p>
复制代码





11 个回复

倒序浏览
说递归是计算机科学的一块奠基石也不过分
回复 使用道具 举报
fantacyleo 发表于 2015-4-15 23:18
说递归是计算机科学的一块奠基石也不过分

对的,同意
回复 使用道具 举报
递归也不太难理解,就跟循环差不多,只是数值大了会爆内存
回复 使用道具 举报
你能用递归给我做一下杨辉三角吗?
回复 使用道具 举报
嗯,学习了
回复 使用道具 举报
看不懂啊 大哥
回复 使用道具 举报
顶顶顶,赞楼主
回复 使用道具 举报
IT我的梦 发表于 2015-4-16 00:38
你能用递归给我做一下杨辉三角吗?

明天做好,发给你
回复 使用道具 举报

大哥,开玩笑呢吧
回复 使用道具 举报
我也觉得是,他开玩笑呢!呵呵呵
回复 使用道具 举报
第二题,开始看,我以为是错误的。
仔细一看,还能这么写呢!
学习了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马