循环不变式

很多年前看Accelerated C++的时候看到了这个概念,当时觉得没啥用,今天偶然翻到这个这里,发现挺有意思.

例如

r = 0;
//不变式:当前已经加了r次
sum = 0;
while (r != 10) {
    sum += r;
    // 加了之后,不变式就不成立了  
    r++;
    // 使不变式成立  
}

 这样我们可以始终确保r就是当前加过的次数

最后,while循环结束时,r为10,我们就可以直接说加了10次

posted @ 2017-03-21 15:47  君莫笑hhhhhh  阅读(147)  评论(0编辑  收藏  举报