递归算法
1.求n!阶层和
我们都知道n!是指n+(n-1)+(n-2)+…+1,用java来实现这个递归
public class Factorial {
public static int factorial(int n) {
if(n==1) { //n为1,返回结果为1
return 1;
}else { //n大于等于1,调用递归算法
return factorial(n-1)+n;
}
}
//主方法,调用上述定义的方法进行计算;
public static void main(String[] args) {
Factorial f=new Factorial();
int result=f.factorial(5);
System.out.println("阶层和是:"+result);
}
}
2.斐波那契数列
1,1,2,3,5,8,13,…
public class Fibonacci {
//定义求解方法;
public static int fibonacci(int n) {
if(n==0 || n==1) {
return 1;
}else {
return fibonacci(n-1)+fibonacci(n-2);
}
}
//主方法,调用上面的Fibonacci方法进行计算;
public static void main(String[] args) {
Fibonacci f=new Fibonacci();
int result=f.fibonacci(5);
System.out.println(result);
}
}