我对算法很陌生,虽然我理解它非常简单的代码,但我发现很难在下面的代码中找到循环不变量。有人可以明确告诉我以下代码的良好循环不变量是什么。任何帮助深表感谢
int sumBetween (int x , int y){
//pre-condition : x<=y
//post : returns the sum x+(x+1)+(x+2)+.........+y
int sum=0;
for(int i=x; i!=y+1; i++) {
sum+=i;
}
除了 sum 等于从 x 到 y 的所有整数之外,我想不出任何循环不变量,但在第一次迭代之前这是不正确的。是否存在覆盖后置条件的循环不变量?