Оптимизация хвостовой рекурсии для JavaScript?

Приношу свои извинения всем за предыдущие версии этого, будучи расплывчатым. Кто-то решил пожалеть новую девушку и помочь мне переписать этот вопрос - вот обновление, которое, я надеюсь, прояснит ситуацию (и, благодаря всем тем, кто до сих пор был так щедр с ответами):

Эта проблема

Я новый студент информатики, на первом курсе Uni. Для окончательного проекта для моего класса Algorithms мы можем выбрать любой язык, который захотим, и реализовать алгоритм «уточнения» / «эффективности», который найден изначально (внутренне?) На другом языке, но отсутствует в выбранном нами языке.

Мы только недавно изучали рекурсию в классе, и мой профессор кратко упомянул, что JavaScript не реализуетХвост Рекурсия, Из моих онлайн-исследований новая спецификация скрипта ECMA 6 включает эту функцию, но в настоящее время ее нет в (/ большинстве?) Версиях / движках JavaScript? (извините, если я не уверен, какой ... я новичок в этом).

Я нашел несколько интересных постов, таких какэтот.

И другойВопрос переполнения стека: https://stackoverflow.com/questions/3660577/are-any-javascript-engines-tail-call-optimized

И, наконец, действительно крутой эмулятор ECMA Script 6 под названиемконтинуум

Мое задание состоит в том, чтобы предоставить 2 варианта (код)РАБОТА Вокруг к функции, которой не хватает.

Итак, мой вопрос ... у кого-нибудь, гораздо более умного и опытного, чем я, есть какие-нибудь мысли или примеры того, как я мог бы реализовать:

РАБОТА Вокруг из-за отсутствия оптимизации хвостовой рекурсии?

Ответы на вопрос(3)

Ваш ответ на вопрос