Саморекурсивно-итеративные функции в PythonPython

Программы на Python
Ответить
Anonymous
 Саморекурсивно-итеративные функции в Python

Сообщение Anonymous »

Я писал реализацию нотации Кнута со стрелкой вверх и понял, что у меня возникла проблема. Чтобы заставить его работать, мне пришлось бы итеративно собирать все больше и больше ссылок на функцию, содержащую своего рода «базу», чтобы она действительно функционировала как оригинальный алгоритм Кнута; примерно так:

Код: Выделить всё

# pseudocode
recursion = 10
def i(a,b,arrows):
for n in range(arrows):
add(add(.. # n stacked layers of add(a,b)  ..))
def add(a,b):
return a+b
Проблема в том, что, насколько я могу судить, хорошего способа сделать это не существует. Я мог бы просто создать несколько функций addn(), которые выполняли бы разные уровни рекурсии, но что в этом интересного?


Подробнее здесь: https://stackoverflow.com/questions/798 ... -in-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»