Algorithm 立方体求和算法的循环不变量是什么?
我不是100%确定三次幂和的不变量是什么 注:n始终为非负值 伪代码:Algorithm 立方体求和算法的循环不变量是什么?,algorithm,invariants,loop-invariant,Algorithm,Invariants,Loop Invariant,我不是100%确定三次幂和的不变量是什么 注:n始终为非负值 伪代码: triplePower(n) i=0 tot=0 while i <= n LI1 j = 0 while j < i LI2 k = 0 while k < i LI3 tot = tot + i k++ j++
triplePower(n)
i=0
tot=0
while i <= n LI1
j = 0
while j < i LI2
k = 0
while k < i LI3
tot = tot + i
k++
j++
i++
triplePower(n)
i=0
tot=0
虽然我我认为你可以定义如下:
LI1 <= (i^2(i+1)^2)/4
LI2 <= (i+1)^3 + (i^2(i+1)^2)/4
LI3 <= (i+1)^2 + i^3 + (i^2(i+1)^2)/4
LI1谢谢!昨晚我正在研究它,我突然想到了类似的事情,但我不完全确定如何定义它。谢谢你的帮助。对于LI2和LI3,不是所有的i
都会被更改为(i-1)
。@MichaelSchilling,循环不变量应该在循环执行期间以及循环执行完成后为真,所以我认为我所说的是真的。(也许我错了)。