> 1 <

Автор Сообщение

MashaMilushina

Members


Статус

1 сообщений

Где: ---
Род занятий:
Возраст:

#7293   2014-03-03 18:41 GMT+3 часа(ов)      
Здравствуйте!) помогите пожалуйста с заданием
В математике числа Фибоначчи образуют ряд 0, 1, 1, 2, 3, 5 8.....
Эту последовательность можно определить с помощью следующей функции
FIB: fib(n)=0, если n=0 fib(n)=1, если n=1 fib(n)=fib(n-1)*fib(n-2),
если n>1 Необходимо определить лисповскую функцию fib(n), вычисляющую
n-й элемент ряда Фибоначчи.

rv82

Members


Статус

46 сообщений
http://rv82.ya.ru
Где: Russia
Род занятий:
Возраст:

#7294   2014-03-03 21:41 GMT+3 часа(ов)      
Scheme (точнее Racket):
 
(define (fib n)
(cond
((= n 0) 0)
((= n 1) 1)
(else (+ (fib (- n 1)) (fib (- n 2))))))
 

Правда в данном случае функция реализована не через хвостовую рекурсию. Но зато, как в задании.

romaks

Members


Статус

3 сообщений

Где: Russia Димитровград
Род занятий: Программирование
Возраст: 29

#7315   2014-03-12 19:52 GMT+3 часа(ов)      
Цитата
MashaMilushina :
Здравствуйте!) помогите пожалуйста с заданием
В математике числа Фибоначчи образуют ряд 0, 1, 1, 2, 3, 5 8.....
Эту последовательность можно определить с помощью следующей функции
FIB: fib(n)=0, если n=0 fib(n)=1, если n=1 fib(n)=fib(n-1)*fib(n-2),
если n>1 Необходимо определить лисповскую функцию fib(n), вычисляющую
n-й элемент ряда Фибоначчи.



(defun fib(n)
(cond ((= n 0) 1)
((= n 1) 1)
(t (+ (fib (- n 1))
(fib (- n 2))))))
Знание это препятствие на пути неизвестности.

Dron983

Members


Статус

1 сообщений

Где: Russia
Род занятий:
Возраст:

#8473   2020-12-02 18:56 GMT+3 часа(ов)      
 
 
(defun fib (n a b)
(print (write-to-string n))
(print b)
(if (< n 100000)
(funcall (lambda (n a b) (fib n a b)) (+ n 1) b (+ a b)))
)
 
(defun fibstart ()
(fib 1 0 1)
)
 


Взято отсюда:
http://ainjournal.ru/doc/862154.html
> 1 <


Онлайн :

0 пользователь(ей), 43 гость(ей) :