blob: d6a7b0a674a872007e4433d0d74c08b3fee2ce98 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
// Fibonacci Example
`export fib_recursive : `{[I64 n]
? n < 0 { `return.error $ "n Cannot Be Negative" }
fib : `{[I64 n]
? {
n = 0 { 0 }
n < 2 { 1 }
{ + (fib `call n - 1; fib `call n - 2) }
}
}
fib `call n
}
`export fib_loop : `{[I64 n]
? n < 0 { `return.error $ "n Cannot Be Negative" }
a : 0
b : 1
@ 0 .. n {
c : b
b +: a
a : c
}
a
}
`export fib_array : `{[I64 n]
? {
n < 0 { `return.error $ "n Cannot Be Negative" }
n > 1 { n -: 1 }
}
arr : Array (0; 1)
@ 0 .. n {
arr `push arr[-2] + arr[-1]
}
arr
}
|