立方求和算法的循环不变式是什么?

发布于 2025-01-04 08:14:47 字数 639 浏览 0 评论 0原文

我不能 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++
        i++

我知道它很混乱,可以用更简单的方式完成,但这是我期望做的(主要用于算法分析实践)。

我要提出三个循环不变量; LI1、LI2 和 LI3。
我认为对于 LI1 来说,不变量与 tot=(i^2(i+1)^2)/4 有关(从 0 到 i 的立方和的方程)
我不知道要为 LI2 或 LI3 做什么。 LI2 处的循环使 i^3 和 LI3 处的循环使 i^2 ,但我不完全确定如何将它们定义为循环不变量。

如果我在每个 while 循环体中有 3 个单独的总计变量,并在第一个循环中的 i++ 之前添加到主总计中,那么不变量会更容易定义吗?

感谢您提供的任何帮助。

I'm not 100% sure what the invariant in a triple power summation is.

Note: n is always a non-negative value.

Pseudocode:

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++

I know its messy and could be done in a much easier way, but this is what I am expected to do (mainly for algorithm analysis practice).

I am to come up with three loop invariants; LI1, LI2, and LI3.
I'm thinking that for LI1 the invariant has something to do with tot=(i^2(i+1)^2)/4 (the equation for a sum a cubes from 0 to i)
I don't know what to do for LI2 or LI3 though. The loop at LI2 make i^3 and LI3 makes i^2, but I'm not totally sure how to define them as loop invariants.

Would the invariants be easier to define if I had 3 separate total variables in each of the while loop bodies that added to a main total right before i++ in the first loop?

Thanks for any help you can give.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

独留℉清风醉 2025-01-11 08:14:47

我认为你可以将它们定义如下:(

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

如果你计算的金额是正确的)。

I think you can define them as below:

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

(if your calculated amounts is right).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文