codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
; lucas sequences (define (lucas l2 l1 n) (let loop ((n n) (l2 l2) (l1 l1) (ls (list l1 l2))) (if (zero? n) (reverse ls) (let ((l (+ l1 l2))) (loop (- n 1) l1 l (cons l ls)))))) (display (lucas 1 1 20)) (newline) ; fibonacci numbers (display (lucas 1 3 20)) (newline) ; lucas numbers (define (lucas p q l2 l1 n) (let loop ((n n) (l2 l2) (l1 l1) (ls (list l1 l2))) (if (zero? n) (reverse ls) (let ((l (- (* p l1) (* q l2)))) (loop (- n 1) l1 l (cons l ls)))))) (display (lucas 1 -1 1 1 20)) (newline) ; fibonacci numbers (display (lucas 1 -1 1 3 20)) (newline) ; lucas numbers (define (u n p q) (if (< n 1) 1 (if (= n 1) p (let ((k (quotient n 2))) (if (odd? n) (- (* (u (+ k 1) p q) (v k p q)) (expt q k)) (* (u k p q) (v k p q))))))) (define (v n p q) (if (< n 1) 2 (if (= n 1) p (let ((k (quotient n 2))) (if (odd? n) (- (* (v (+ k 1) p q) (v k p q)) (* p (expt q k))) (- (expt (v k p q) 2) (* 2 (expt q k)))))))) (display (u 22 1 -1)) (newline) ; fibonacci (display (v 22 1 -1)) (newline) ; lucas
Private
[
?
]
Run code
Submit