一:数学归纳法
1:验证p(1)成立
2:证明如果p(k)成立,那么p(k+1)也成立
3:联立1和2,证明p(1)->p(n)成立
举例:证明1+3+5+...+(2n-1)=n^2(前n项奇数和为n^2)
1:p(1)=1
2 :假设p(n-1)成立,p(n-1)=(n-1)^2,p(n)=(n-1)^2+2n-1=n^2
3:联立1和2即可证明
二:递归函数设计的三个步骤
1:给递归函数一个明确语义
2:实现边界条件时的程序逻辑
3:假设递归函数调用返回结果是正确的,实现本层函数逻辑
例:实现求阶乘的函数
int f(int n){//第一步明确语义
if(n==1) return 1;//第二步实现边界条件
else return f(n-1)*n;//第三步假设f(n-1)正确返回实现求本层函数f(n)
}