int logarithmCeiling(int x) {
int power = 1;
int count = 0;
while (power < x) {
power = 2 *power;
count = count +1;
}
return count;
}
上面的代码是为了使用while循环计算并返回给定正整数的较低对数的Java方法。我将如何为上面的循环提供一个不变量?即在其开始之前保持,每当循环体结束时,以及循环条件的否定。Java循环不变
虽然正确,但这并不像您对后期条件那样严格。 5 <= 1024 = 2^10可能是这样的一个实例,但是10个明显不会是正确的日志。当然,这个方法确实是部分正确的,并且可以显示更强的后置条件 – 2011-05-23 16:14:28