/**
* 利用递归方法求5!。
递归先要设定一个出口,然后利用参数的变化来靠近出口条件
* @author Dreamweaver
*
*/
public class Demo22 {
public static int fn(int a) {
int sum = 1;
if(a==1||a==0) {
return sum;
}else {
return sum = a*fn(a-1);
}
}
public static void main(String[] args) {
int sum = fn(5);
System.out.println(sum);
}
* 利用递归方法求5!。
递归先要设定一个出口,然后利用参数的变化来靠近出口条件
* @author Dreamweaver
*
*/
public class Demo22 {
public static int fn(int a) {
int sum = 1;
if(a==1||a==0) {
return sum;
}else {
return sum = a*fn(a-1);
}
}
public static void main(String[] args) {
int sum = fn(5);
System.out.println(sum);
}
}
/**
* 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。
* 问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。
* 问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。
要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。
* @author Dreamweaver
*
*/
public class Demo23 {
public static int age(int a) {
int sum = 0;
if(a==1) {
return 10;
}else {
return sum=2+age(a-1);
}
}
public static void main(String[] args) {
System.out.println(age(5));
}
}