break и continue нормальное применение средств в цикле.
кроме того вход в цикл можно осуществить задав начальное значение переменной цикла ii не константой, а переменной ii=ix, которая может меняться по ходу программы.
Внутри цикла ii может измениться, если вам надо.
Перед выходом или выбросом из цикла переменная цикла может быть запомнена ii=ix;
таким образом, вход во внутренний цикл может быть обеспечен с любыми установками, зависящими от результатов работы программы, а не только от начальной константы.
Для целей отладки в цикл можно временно встраивать операторы распечатки и приостановки.
Если хочется обойти нижнюю часть внешнего цикла, то нужно её заключить в оператор IF и она будет обойдена при выполнении указанного условия.
Условие можно назначить непосредственно в операторе IF либо для него вычислить переменную заранее, внутри внутреннего цикла.
То есть внутри внутреннего цикла вы достигаете своей цели, записываете это состояние в специальные переменные, и при выходе из цикла пользуетесь этими переменными легко и свободно для определения того, выполнять ли нижний участок, с какой новой начальной установкой входить во внутренний цикл, шаг и длина внутреннего цикла тоже могут быть изменены.
свобода творчества полная, надо только позаботиться о полноте программы, чтобы не было пропусков каких-то вариантов и неправильных вычислений.
Иногда даже стоит ввести проверку на наличие собственных ошибок