使用递归算法计算n!

递归算法是一种直接或者间接地调用自身算法的过程。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。

递归算法解决问题的特点:

(1) 递归就是在过程或函数里调用自身。

(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。

(3) 递归算法解题通常显得很简洁,但运行效率较低。所以一般不提倡用递归算法设计程序。

(4) 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计程序。

public class Test {
	publicint factorial(int n) {                 
        if (n == 1 || n == 0){
            returnn;
        } else {
            returnn * factorial(n - 1);
        }                         
    }

     publicstatic void main(String[] args) {
        Testtest = new Test();
        System.out.println(test.factorial(6));
    }
}

你可能感兴趣的:(算法,算法)