Я озадачен о том, как определить временную сложность для цикла в то время как в этом заявлении:Временная сложность вложенных в то время как петля
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 работает дольше (но не на много), так может ли это быть логарифмическим? Заранее спасибо.