在学习java的过程中,感觉递归的思想很重要,而且有些题目利用递归是很好的解决手段,但是递归很难理解,尤其是像下面的两道小题。复制代码
- <p>//一个整数,大于0,不用循环和本地变量,按照 n,2n,4n,8n的顺序递增,当值大于5000时,把值按照指定顺序输出来。
- //递归算法题1
- public class Recursion1 {
- public static void doubleNum(int n){
- System.out.println(n);
- if(n <= 5000){
- doubleNum(n*2);
- System.out.println(n);
- }
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Recursion1.doubleNum(2237);
- }
- }</p><p> </p><p>//第1个人10岁,第2个比第1个人大2岁,依次递推,请用递归方式计算出第8个人多大?
- //递归算法题2
- public class Recursion2 {
- public static int computeAge(int n){
- if(n==1)
- return 10;
- return computeAge(n-1) + 2;
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- System.out.println(computeAge(8));
- }
- }</p>
fantacyleo 发表于 2015-4-15 23:18
说递归是计算机科学的一块奠基石也不过分
IT我的梦 发表于 2015-4-16 00:38
你能用递归给我做一下杨辉三角吗?
zlp19940327 发表于 2015-4-16 00:49
看不懂啊 大哥
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |