Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Andy Shevchenko                      2:465/192      11 Mar 2002  13:18:01
 To : Max Ischenko
 Subject : Re: tail-recursion
 -------------------------------------------------------------------------------- 
 
 .RFC-X-Complaints-To: news@serv.smile.org.ua
 .RFC-NNTP-Posting-Date: 11 Mar 2002 10:18:01 GMT
 Hi Max Ischenko! 
 
 On Mon, 11 Mar 02 10:01:42 +0200; Max Ischenko <max@malva.com.ua> wrote about
 'Re: tail-recursion':
 
  mmcu>>> (defun s-tr (x)
  mmcu>>>   (labels ((rec (n acc)
  mmcu>>>                          (if (= n 1)
  mmcu>>>                            acc
  mmcu>>>                            (rec (- n 1) (+ acc n)))))
  mmcu>>>  (rec x 1)))
  AS> Аналогично и у тебя. Это не хвостовая рекурсия, так как последняя функция у
  AS> тебя не s-tr, а rec. 
 
  mmcu> Все правильно. Рекурсивной функцией ведь является REC, а не S-TR и
  mmcu>  именно в ней
  mmcu> используется tail-recursion. А S-TR никак не рекурсивна, это да.
 
  А вот поэтому у тебя и нет хвостовой рекурсии.
 
  Так что:
 
  mmcu> Учите матчасть. (c)
 
 Должно быть что-то вроде
 
 (defun recurrr (args)
   ... smth ...
   recurrr (args2)
 )
 -- 
 With best regards,
 Andy Shevchenko.      mailto: andy@smile.org.ua
 --- slrn/0.9.7.3-asp (Linux)
  * Origin: Smile Club (2:465/192@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: tail-recursion   Andy Shevchenko   11 Mar 2002 13:18:01 
Архивное /ru.linux/12169f4da6700.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional