6.递归阶乘思想

1. 阶乘

递归的逻辑中一般有两个重要概念:
①递归边界。
②递归式(或称递归调用)。
来看一个经典的例子:使用递归求解n的阶乘。
首先给出n!的计算式:n!=12…*n,这个式子写成递推的形式就是n!=(n-1)!*n,于是就把规模为n的问题转换为求解规模为n-1的问题。如果用F(n)表示n!,就可以写成F(n)=F(n-1)*n(即递归式),这样规模就变小了。
那么,如果把F(n)变为F(n-1),又把F(n-1)变为F(n-2),这样一直减小规模,什么时候是尽头呢?由于0!=1,因此不妨以F(O)=1作为递归边界,即当规模减小至n=0的时候开始“回头”。

#include <bits/stdc++.h>
using namespace std;
int F(int n)
{
	if