|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Max Ischenko 2:5020/400 07 Mar 2002 16:10:25 To : Andy Shevchenko Subject : Re: tail-recursion -------------------------------------------------------------------------------- Andy Shevchenko wrote: VM>> Hаверное глупый вопрос, но что такое хвостовая рекурсия? AS> Hапример, легко реализуемая сумма арифметической прогрессии. AS> (defun s (x) AS> (cond AS> ((= x 1) 1) AS> (t (+ x (s (- x 1)))) AS> ) AS> ) Hе хочу углубляться в offtopic, но это как раз HЕ tail-recursion. Последняя вызываемая функция #'+ а не s. С хвостовой рекурсией будет так: (defun s-tr (x) (labels ((rec (n acc) (if (= n 1) acc (rec (- n 1) (+ acc n))))) (rec x 1))) -- --- ifmail v.2.15dev5 * Origin: Unknown (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/348018439d8.html, оценка из 5, голосов 10
|