循环不变量顾名思义应该用在证明循环中(不是我naive)
如果为了证明递归Sum,其实只要做类似数学归纳法的工作. 首先SUM(A,p,p)正确 假设Sum(A,p,r-1)正确 由于Sum(A,p,r)=Sum(A,p,r-1)+r也正确 得证.
循环不变量的使用是: 1.初始状态正确 2.每次循环后正确 3.程序会结束
所以循环不变量一般用于证明像插入排序这种一步一步接近问题N的算法. 证明递归最好用数学归纳法.