решение равно ((height-x)/(x-y))+1
, петли не требуются.
Улитка должна подняться на: height-x
, и это займет у нее ((height-x)/(x-y))
дней. Как только это там, ему требуется дополнительный день, чтобы подняться на оставшиеся х.
РЕДАКТИРОВАТЬ: , как упоминалось в комментариях, это решение решает проблему для каждой стены, вам нужно будет выполнить итерацию по вашему массиву heights
и суммировать эти результаты, сохраняя, по крайней мере, внутренний цикл, делая его O (n), вместо O (n * h), где n - количество стен, а h - высота стен.
(*) примечание: вы можете сохранить напоминание для каждой стены [т.е. сколько улитка может продолжать идти после того, как он прошел эту стену], и вычесть ее из следующей стены, зависит от описания задачи ... Если улитка может проходить максимум одну стену в день, игнорируйте этот последний комментарий.