Молодец, Саныч, молодец!! Написал рекурсивное выражение. Красиво это и гениально. Только о стеке кто вспоминать будет? Каждая такая вот халява, функция, которая вроде бы, ничего особого не делает, а в итоге всё выполено, проявляется переполнением стека. Оттого и надо уважать всё это за внешнюю простоту и бояться за то, что памяти много ест. Один только адрес возврата - целых четыре байта, скоро все восемь у многих будет. Да аргументы, переменные локальные, шут бы их побрал, держать где-то надо. Ну и умножить всё это на количество вызовов кода.
Мораль: уважай и бойся рекурсии, старайся не заменять ей циклы, если тело их повторяется великое множество раз.
Вот так вот. Шутка, конечно... Шутка для писателей, шутка для прогеров.