В принципе, когда вы вызываете 4
это, конечно, выполните эту функцию, сначала она проверит, является ли число 2 или меньше, и это то, что называется «базовым случаем», что будет в случае завершения рекурсии.
Другая часть функции - сама рекурсия, в основном вызывает себя, вычитая 1 и 2, и, следовательно, убедитесь, что функция когда-нибудь закончится.
Это пример того, как функция вызывается, когда вы вызываете 4
:
growBeanstalk(4) -> 3
|----growBeanstalk(3) -> 2
|---growBeanstalk(2) -> 1
|---growBeanstalk(1) -> 1
|----growBeanstalk(2) -> 1