public class DiGui{
public static void main(String[] args){
int n = 6;
int s = m(6);
System.out.println(s);
}
private static int m(int n){
if(n == 1){
return 1;
}
return n * m(n-1);
}
}
输出结果为 720
递归算法即为一个正整数的阶乘是所有小于及等于该数的正整数的积,并且有0的阶乘为1。自然数n的阶乘写作n!。
即n!=1×2×3×...×n。阶乘可以递归方式定义:0!=1,n!=(n-1)!×n。
public class DiGui2 {
public static void main(String [] args){
int n = 6;
int s = m(n);
System.out.println(s);
}
private static int m(int n){
if (n ==1){
return 1;
}
if (n == 2){
return 1;
}
return m(n-1) + m(n-2);
}
}
输出结果为 8
斐波那契数列
从第三项开始,每一项都等于前两项之和
即:第1项 2 3 4 5 6·····n
数值:1 1 2 3 5 8·····(n-2的数值+n-1的数值)
总的来说递归即为直接或间接的调用自身的算法,直接调用即为自身调用自己,间接即为把A方法调用B方法,B方法调用C方法,C方法调用A方法。