递归是算法必学的一个套路
(作为一个大一狗就用C语言来发表一下自己的理解吧【手动滑稽】)
int F(int n)
{
if(i = 0){
return 1;
}
return n * F(n - 1);
}
//n * F(n- 1) 的理解:如果不满足if里的条件就执行 n * F(n- 1) 即(假设n = 5)5 * F(4)
//4 不满足if里的条件所以就是5 * (4 * F(3)) 其中4 * F(3)就是F(4)
//类似的 3 依然不满足if中的条件所以 5 * (4 * (3 * F(2)))
//2 依然不满足if的条件 5 * (4 * (3 * (2 * F(1))))
// 1 依然不满足if的条件 5 * (4 * (3 * (2 * (1 * F(0)))))
//0 满足if中的条件所以返回一个 1
// 结果为 5 * (4 * (3 * (2 * (1 * 1))))