【发布时间】:2015-10-19 16:53:20
【问题描述】:
我知道循环不变量旨在证明问题的正确性,但我不太明白如何提出一个问题,无论问题多么微不足道。这是一个例子,有人可以指出我应该考虑采取什么步骤。我知道循环中发生变化的所有值都必须包含在我的不变量中。请指导我解决这个问题,我还必须找到后置条件。一个解释比一个答案更有价值;请帮忙。
{M > 0 and N >= 0 }
a = M;
b = N;
k = 1;
while (b > 0) {
if (b % 2 == 0) {
a = a * a;
b = b / 2
} else {
b = b – 1;
k = k * a;
}
}
{ ? ? }
【问题讨论】:
-
谢谢,我会看看,希望对你有帮助
标签: loops loop-invariant