Вычисление числа Фибоначчи линейной рекурсией с одним рекурсивным вызовом - Lisp

Формулировка задачи:

Помогите пожалуйста. написать на лиспе функцию fibo2, вычисляющие числа Фибоначчи линейной рекурсии с одним рекурсивным вызовом.

Код к задаче: «Вычисление числа Фибоначчи линейной рекурсией с одним рекурсивным вызовом - Lisp»

textual
(defun fib (n &optional (c 1) (p 0))
  (if (= n 1) c (fib (- n 1) (+ c p) c)))
 
==> FIB
 
(fib 1)
 
==> 1
 
(fib 2)
 
==> 1
 
(fib 3)
 
==> 2
 
(fib 4)
 
==> 3
 
(fib 5)
 
==> 5
 
(fib 100)
 
==> 354224848179261915075
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

15   голосов, оценка 4.267 из 5


СДЕЛАЙТЕ РЕПОСТ