(define (even? x) (if (= (% x 2))))
(define (fib n (a 1) (b 0) (p 0) (q 1))
(cond ((= n) b)
((even? n) (fib (/ n 2)
a
b
(+ (* p p) (* q q))
(+ (* 2 p q) (* q q))))
(true (fib (dec n)
(+ (* b q) (* a q) (* a p))
(+ (* b p) (* a q))
p
q))))
Программирования, тут, на мой взгляд, гораздо меньше, чем математики. Думаю, это неправильно.
Комментариев нет:
Отправить комментарий