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

私はその厄介なことを知っており、はるかに簡単な方法で行うことができますが、これは私が期待していることです(主にアルゴリズム分析の練習のために)。

私は3つのループ不変条件を考え出すことになっています。LI1、LI2、およびLI3。
LI1の場合、不変量はtot =(i ^ 2(i + 1)^ 2)/ 4(0からiまでの立方体の合計の方程式)
と関係があると思います。ただし、LI2またはLI3に対して行います。LI2でのループはi^3を作成し、LI3はi ^ 2を作成しますが、それらをループ不変条件として定義する方法が完全にはわかりません。

最初のループのi++の直前にメインの合計に追加されたwhileループ本体のそれぞれに3つの別々の合計変数がある場合、不変条件を定義するのは簡単でしょうか?

あなたが与えることができるどんな助けにも感謝します。

4

1 に答える 1

1

私はあなたがそれらを以下のように定義できると思います:

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

(計算された金額が正しい場合)。

于 2012-02-11T07:31:29.840 に答える