可能的循环不变量
Possible loop invariant
考虑以下循环:
y=1;
x=a;
//with a>=0 , b>=0
while(x>0){
y=y*b;
x=x-1;
}
我想得出结论 y = ba
我琢磨了一会儿,似乎想不出一个足够强大的循环
不变量让我得出结论。有谁知道如何解决这个问题?
非常感谢任何帮助或见解。
这里的不变量是y = ba-x.
你从 x=a 开始,所以 x-a 为零,b0 = 1,这是 y 的初始值。
随着循环的进行,每次 x 减小时 y 乘以 b。
循环结束时x为零,所以y = ba.
考虑以下循环:
y=1;
x=a;
//with a>=0 , b>=0
while(x>0){
y=y*b;
x=x-1;
}
我想得出结论 y = ba
我琢磨了一会儿,似乎想不出一个足够强大的循环 不变量让我得出结论。有谁知道如何解决这个问题?
非常感谢任何帮助或见解。
这里的不变量是y = ba-x.
你从 x=a 开始,所以 x-a 为零,b0 = 1,这是 y 的初始值。
随着循环的进行,每次 x 减小时 y 乘以 b。
循环结束时x为零,所以y = ba.