私は3倍のパワーの合計で不変量が何であるか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にしますが、ループ不変量としてそれらを定義する方法は完全にはわかりません。
whileループの各ボディに3つの別々の合計変数があると、不変量を定義しやすくなりますか?
ご協力いただきありがとうございます。
この関数の次数もまたです:Θ(n^3)?
遅い応答にごめんね。私は実際に私の状況をよりよく理解したので、質問をかなり変更する必要がありました。 –