Skip to content

Commit b3bc5c1

Browse files
committedNov 27, 2024·
add iterative and recursive fibonacci functions
1 parent 522645e commit b3bc5c1

File tree

3 files changed

+33
-2
lines changed

3 files changed

+33
-2
lines changed
 

‎benchmarks/fib_dynamic.cdc

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ fun fib(_ n: Int): Int {
1717

1818
access(all)
1919
fun main() {
20-
assert(fib(14) == 377)
21-
}
20+
assert(fib(23) == 28657)
21+
}

‎benchmarks/fib_iterative.cdc

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
access(all)
2+
fun fib(_ n: Int): Int {
3+
var fib1 = 1
4+
var fib2 = 1
5+
var fibonacci = fib1
6+
var i = 2
7+
while i < n {
8+
fibonacci = fib1 + fib2
9+
fib1 = fib2
10+
fib2 = fibonacci
11+
i = i + 1
12+
}
13+
return fibonacci
14+
}
15+
16+
access(all)
17+
fun main() {
18+
assert(fib(23) == 28657)
19+
}

‎benchmarks/fib_recursive.cdc

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
access(all)
2+
fun fib(_ n: Int): Int {
3+
if n < 2 {
4+
return n
5+
}
6+
return fib(n - 1) + fib(n - 2)
7+
}
8+
9+
access(all)
10+
fun main() {
11+
assert(fib(23) == 28657)
12+
}

0 commit comments

Comments
 (0)
Please sign in to comment.