遞歸算法
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);
}
}