langs a-z
This commit is contained in:
parent
db842d013d
commit
d066446780
11389 changed files with 98361 additions and 1020 deletions
25
Task/Fibonacci-sequence/Order/fibonacci-sequence-3.order
Normal file
25
Task/Fibonacci-sequence/Order/fibonacci-sequence-3.order
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
#include <order/interpreter.h>
|
||||
|
||||
#define ORDER_PP_DEF_8fib_memo \
|
||||
ORDER_PP_FN(8fn(8N, \
|
||||
8tuple_at(0, 8fib_memo_inner(8N, 8seq))))
|
||||
|
||||
|
||||
#define ORDER_PP_DEF_8fib_memo_inner \
|
||||
ORDER_PP_FN(8fn(8N, 8M, \
|
||||
8cond((8less(8N, 8seq_size(8M)), 8pair(8seq_at(8N, 8M), 8M)) \
|
||||
(8equal(8N, 0), 8pair(0, 8seq(0))) \
|
||||
(8equal(8N, 1), 8pair(1, 8seq(0, 1))) \
|
||||
(8else, \
|
||||
8lets((8S, 8fib_memo_inner(8sub(8N, 2), 8M)) \
|
||||
(8T, 8fib_memo_inner(8dec(8N), 8tuple_at(1, 8S))) \
|
||||
(8U, 8add(8tuple_at(0, 8S), 8tuple_at(0, 8T))), \
|
||||
8pair(8U, \
|
||||
8seq_append(8tuple_at(1, 8T), 8seq(8U))))))))
|
||||
|
||||
|
||||
ORDER_PP(
|
||||
8for_each_in_range(8fn(8N,
|
||||
8print(8to_lit(8fib_memo(8N)) (,) 8space)),
|
||||
1, 21)
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue