p = 0
for(i=1;p<=n;i++){
p = p+i;
}
Для каждой итерации вы добавляете 1 нет. выше предыдущего
step 1 : p = p + 1;
step 2 : p = p + 2;
step 3 : p = p + 3;
step 4 : p = p + 4;
.....
.....
step m : p = p + m;
Ваше состояние сравните с n
p<=n
Сумма значений, которые вы добавляете в p, будет равна
1+2+3+.....+m <= n
В математике, уравнение для решения выше суммы будет как
(m * (m + 1))/2 <= n
Итак, окончательная сложность достигает