1. 拿起武器:数学归纳法
Step1:验证p(1)成立
Step2:证明如果p(k)成立,那么p(k+1)也成立
Step3:联合Step1 与 Step2,证明由 p(1)--->p(n) 成立
例如:证明 1 + 3 + 5 + 7 +......+ (2n - 1) = n^2
第一步:证明p(1) : p(1) = 1 = 1^2
第二步:假设p(k)正确------>证明p(k+1)
p(n-1) = (n-1)^2 p(n) = p(n-1)+(2n-1) = (n-1)^2+(2n-1) = n^2
第三步:证毕p(n)正确
2. 递归函数设计的三个重要部分
1. 重要:给 递归函数 一个明确的语义信息
2. 实现边界条件的逻辑程序
3. 假设递归函数调用返回结果是正确的,实现本层函数逻辑
3. 学以致用:递归求阶乘
int f(int n) { // f(n)代表n的阶乘的结果 if (n == 1) { // 边界条件 return 1; } return f(n - 1) * n; // 利用f(n - 1)的值,计算f(n)的值 (n - 1)! * n }