Java重写《C经典100题》 --28

【程序28】 
题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。
2.程序源代码:

 1 /*本文转自博客:www.cnblogs.com/java-100
 2  【程序28】 
 3  题目:有5个人坐在一起,问第五个人多少岁?
 4  他说比第四个人大2岁。问第四个人岁数,他说比第三个人大2岁。
 5  问第三个人,又说比第二人大两岁。问第二个人,说比第一个人大两岁。
 6  最后问第一个人,他说是10岁。请问第五个人多大?
 7  程序分析:利用递归的方法,递归分为回推和递推两个阶段。
 8  要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。
 9  */
10 
11 public class Java28 {
12 
13     public static void main(String[] args) {
14         System.out.print("第五个人" + age(5) + "岁。");
15     }
16 
17     public static int age(int n) {
18         int b = 10;
19         if (n == 1) {
20             b = 10;
21             return b;
22         } else {
23             b = age(n - 1) + 2;
24             return b;
25         }
26     }
27 }

 

posted @ 2016-03-24 22:02  Java-100  阅读(202)  评论(0编辑  收藏  举报

进入Java-100博客   博客声明