Я написал алгоритм, который итеративно решает проблему. Первая итерация состоит из 6 шагов, и все последующие итерации состоят из 5 шагов (первый шаг пропускается).Как рассчитать текущий индекс?
Что я хочу рассчитать - это текущий (локальный) шаг в итерации с текущего глобального шага.
Например, если есть 41 шагов в общей сложности, что означает есть 8 итераций: индексов от 1 до 6 принадлежат 1-ю итерации индексов от 7 до 11 принадлежат к второй итерации ...
Для расчета текущая итерация Я написал следующий код:
if(currentStep <= 6)
iteration = 1;
else
iteration = floor((currentStep - 7)/5) + 2;
end
Проблема остается в вычислении локальных шагов. в первой итерации, выполняемые шаги: 1, 2, 3, 4, 5, 6 во всех последующих итераций исполняющих шаги 2, 3, 4, 5, 6
Так что должно быть сделано, преобразовать массив глобальных шагов
[1 2 3 4 5 6 7 8 9 10 11 12 13 ... 41]
в массив локальных шагов
[1 2 3 4 5 6 2 3 4 5 6 2 3 ... 6]
.
Я был бы признателен, если бы кто-нибудь мог помочь найти решение данной проблемы.
Спасибо!
Там есть кнопка для кода форматирования. Кроме того, есть кнопка с вопросительным знаком, где вы найдете все объяснения. – Jonas
@ Джонас Ах .. Да, спасибо Йонасу! :-) – Himadri