题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第1个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。
1 public class Prog23 { 2 public static void main(String[] args) { 3 System.out.println(age(5)); 4 } 5 //递归求年龄 6 public static int age(int i) { 7 while(i==1) { 8 return 10; 9 } 10 return age(i-1)+2; 11 } 12 } 13 /*运行结果 14 18 15 */