java递归求n!
程序员文章站
2024-03-15 14:54:36
...
public static void main(String[] args) {
int i=4;
System.out.println(digui(i));
}
public static int digui(int a){
if (a==0)
{
return 1;
}
return a*digui(a-1);
}
递归算法解决问题的特点:
(1) 递归就是在过程或函数里调用自身。
(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。
(3) 递归算法解题通常显得很简洁,但运行效率较低。所以一般不提倡用递归算法设计程序。
(4) 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计程序。
该段代码解释:
(1)方法里调用自己
(2)明确的出口是if(a==0){return 1;}