Hofstadter Figure-Figure sequences: Difference between revisions
Content deleted Content added
→{{header|zkl}}: update |
Added EchoLisp |
||
Line 531: | Line 531: | ||
t.array.sort().equal(iota(1, 1001)).writeln; |
t.array.sort().equal(iota(1, 1001)).writeln; |
||
}</lang> |
}</lang> |
||
=={{header|EchoLisp}}== |
|||
<lang scheme> |
|||
(define (FFR n) |
|||
(+ (FFR (1- n)) (FFS (1- n)))) |
|||
(define (FFS n) |
|||
(define next (1+ (FFS (1- n)))) |
|||
(for ((k (in-naturals next))) |
|||
#:break (not (vector-search* k (cache 'FFR))) => k |
|||
)) |
|||
(remember 'FFR #(0 1)) ;; init cache |
|||
(remember 'FFS #(0 2)) |
|||
</lang> |
|||
{{out}} |
|||
<lang scheme> |
|||
(define-macro m-range [a .. b] (range a (1+ b))) |
|||
(map FFR [1 .. 10]) |
|||
→ (1 3 7 12 18 26 35 45 56 69) |
|||
;; checking |
|||
(equal? [1 .. 1000] (list-sort < (append (map FFR [1 .. 40]) (map FFS [1 .. 960])))) |
|||
→ #t |
|||
</lang> |
|||
=={{header|Euler Math Toolbox}}== |
=={{header|Euler Math Toolbox}}== |