Все равно непонятно зачем это было делать.
я прекрасно понимаю, как делать надо было бы и вообще считаю что имею кое-какие познания в программировании (потому что инае просто не написал бы такую утилиту).
однако иной раз решение приходит совсем не сразу и прохидится лепить костыли, шаг за шагом делая то что должно получиться в идеале.
поэтому общий ответ на вопрос
зачем что-то как правило будет
потому что в данном случае у меня не хватило мозгов как сделать иначе, а задачу решить надо былов случае с циклом в ранних версиях, там была особенность что цикл начинался не с i, а с i+1. таким образом если перед циклом было бы i=0 то первая итерация уже была бы с i+1. так же условие i < N ранее срабатывало на шаг позже. с вводом массивов (которые от нуля) это было уже нетерпимо поэтому цикл пришлось переписать.
с идеале цикл станет по синтаксису таким как в С++. железное начало от 0 - явление временное. все развивается. достаточно вспомнить что пару лет назад вообще было ограничение на вложенные циклы - всего до 2 уровня.