1
ながら、入れ子になった私がこの文で、whileループのための時間の複雑さを決定する方法に困惑しています:時間複雑ループ
procedure P (integer n);
for (i: 1 to n)
x := n;
while (x > 0)
x := x - i;
私はループの実行(N-1)のための倍ことを知っています。最初は、whileループがn回実行されると考えました。なぜなら、私はiを1と間違えたからですが、そうではありません。私は数字を入力してプログラムがいつ停止するかを確認していますが、一貫したパターンは見られません。私は、nが増えるにつれて、whileループがより長く実行されることに気付きましたが(それほど多くはありません)、これは幾分対数的になりますか?前もって感謝します。