一个数的阶乘就是这个数连乘每个比前一个数小1的数,例如5的阶乘是:5 * 4 * 3 * 2 * 1, 0和1的阶乘是1.用公式实现:
fac(n) = 1 n=1 ,n=0
n * fac(n - 1) n > 1
则可以用两种方法实现:递归,循环,实现如下所示:
两种方法均可解决问题,递归法代码量会少于循环实现,当然在系统内存的方面,递归法比起循环会占用更多的开销。
一个数的阶乘就是这个数连乘每个比前一个数小1的数,例如5的阶乘是:5 * 4 * 3 * 2 * 1, 0和1的阶乘是1.用公式实现:
fac(n) = 1 n=1 ,n=0
n * fac(n - 1) n > 1
则可以用两种方法实现:递归,循环,实现如下所示:
两种方法均可解决问题,递归法代码量会少于循环实现,当然在系统内存的方面,递归法比起循环会占用更多的开销。