什么是阶乘?
阶乘(factorial)是基斯顿·卡曼(Christian Kramp,1760 – 1826)于1808年发明的运算符号,
阶乘,也是数学里的一种术语。
阶乘是指从1乘以2乘以3乘以4一直乘到所要求的数。
例如:所要求的数是4,则阶乘式是1×2×3×4,得到的积是24,24就是4的阶乘;
例如:所要求的数是6,则阶乘式是1×2×3×……×6,得到的积是720,720就是6的阶乘;
例如:所要求的数是n,则阶乘式是1×2×3×……×n,设得到的积是x,x就是n的阶乘;
找规律: N! = (n-1) ! * n
找出口: n == 0 || n == 1 时,return 1
找临界点: n < 0
public static int getJieCheng(int n) {
if(n < 0) {
throw new ValidateException("非法参数!参数不能小于0");
}
if(n == 0 || n == 1) {
return 1;
}
return getJieCheng(n-1) * n;
}
注意:此算法题主要考察递归的编程能力。