使用递归算法计算n!
publicclass Test {
publicint factorial(int n) {
if (n == 1 ||n == 0){
return n;
}else{
return n *factorial(n - 1);
}
}
publicstaticvoidmain(String[] args) {
Test test = new Test();
System.out.println(test.factorial(6));
}
}
递归算法是一种直接或间接调用自身算法的过程,其解决问题的特点如下:
1.在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口
2.递归算法解题手法简洁,但运行效率低
3.在递归调用过程中,系统为每一层的返回点、局部变量开辟栈来存储,递归次数过多容易造成栈溢出,一般不提倡用递归设计程序