хороший вопрос. Во-первых, я думаю, что рекурсивное решение здесь не идеально. Я понял, что он работает для входных данных, которые вы дали, но, учитывая, как мало PAGEWIDTH
, вы, скорее всего, столкнетесь с проблемами при больших входах. Использование al oop сделает вашу жизнь проще и приведет к более надежной функции.
Тем не менее, ваша проблема заключается в рекурсивном вызове, который вы делаете в функции fold()
, вы предоставляете неверный стартовый индекс. Это означает, что вы не двигаетесь вперед в линии с каждым вызовом. Кроме того, вы не можете четко определить базовый вариант (т. Е. Когда закончить рекурсию). Вы можете сделать это, изменив условия для l oop или передав длину строки (n) в функцию и проверив, является ли start> n.
Проверка базового случая и рекурсивного вызова всегда хорошим местом для начать при отладке рекурсивных функций. Это, как правило, откуда берутся мои проблемы, и очень легко предположить, что вы сделали их правильно и пропустить их во время отладки.
Я не уверен, что вы ищете с точки зрения ответа, но если эти предложения не подходите ближе, я вставил исправление в пастин здесь . Я не размещал это здесь, если вы хотите решить это самостоятельно.
Надеюсь, это сработает, дайте мне знать, если я что-то пропустил.