public static void main( String[] args ) { int n = 5; long y; y = ff(n); System.out.println(y); } static int ff(int n){ if(n==1) return 1; else return n*ff(n-1); }
源代码如上:
这个函数的作用是求n的阶乘 n!
理解:
若n=5带入;
调用: return 5*ff(5-1)
递归第一次调用: return 5*4*ff(4-1)
递归第二次调用: return 5*4*3*ff(3-1)
递归第三次调用: return 5*4*3*2*ff(2-1) 因为ff(1) = 1;
所以最终结果为: 5! = 120
个人理解,如有错误请指正