row[i]
) и пометит там и опять перейдет и так далее, пока не наткнется на уже помеченную позицию. Так вы побойдете один цикл и пометите все позиции в нем. Поэтому прибавьте 1 к счетчику, когда будете запускать внутренний цикл. (a-b+3)%3
Или преобразовать, чтобы не было вычитания: b == (a+1)%3
start = 0;
while (start < n) {
end = start;
ПОКА (start..end+1 - убывающая последовательность) {
++end;
}
// start..end - убывающая последовательность.
start = end+1;
}
С(n,k) = min_i=1..n-1 ( max(C(i,k-1), C(n-i, k)) )) + 1
f(n, 3)=3*floor(n/3)(floor(n/3)+1)/2
. Эта формула получается вынесением 3 за скобки в сумме и дальше применением формулы армфметической прогрессии.f(n,3)+f(n,5)-f(n,15)