В этом блоге я расскажу о другом решении, которое решает проблему шагов. На прошлой неделе я написал блог о том, как решить эту проблему. Обязательно ознакомьтесь с разделом ресурсов внизу этого блога!

В качестве напоминания о том, что мы пытаемся решить, вот скриншот подсказки:

Ведение журнала консоли “#” зависит от введенных вами данных. Примеры на снимке экрана выше отлично показывают, какими должны быть входные и выходные значения для этой задачи. Если наш вход равен 4, то это то, что должно быть на выходе:

'#   '
'##  ' 
'### ' 
'####'

В этом случае мы можем рассматривать вывод как некую форму таблицы со строками и столбцами. Если мы посмотрим на пример ввода, обратите внимание, что внутри строки есть пустые места, пока строка не будет заполнена #.

На этот раз я буду использовать рекурсию для решения этой проблемы. Проще говоря, рекурсивная функция может вызывать сама себя до тех пор, пока не перестанет это делать. Одним из примеров рекурсии является последовательность Фибоначчи (0,1,1,2,3,5,8,...). Для получения дополнительной информации о рекурсиях и последовательности Фибоначчи, пожалуйста, ознакомьтесь с разделом ресурсов.

Вместо создания циклов for мы просто создадим несколько условий и в какой-то момент вызовем функцию (в данном случае steps()). Вот скриншот моего псевдокода:

Вот скриншот моего решения:

Вот результаты примера на line 74:

Для получения дополнительной информации о рекурсиях проверьте раздел ресурсов ниже!

Ресурсы: