23 lines
412 B
Plaintext
23 lines
412 B
Plaintext
// iterative (quick)
|
|
var fibItr = Fn.new { |n|
|
|
if (n < 2) return n
|
|
var a = 0
|
|
var b = 1
|
|
for (i in 2..n) {
|
|
var c = a + b
|
|
a = b
|
|
b = c
|
|
}
|
|
return b
|
|
}
|
|
|
|
// recursive (slow)
|
|
var fibRec
|
|
fibRec = Fn.new { |n|
|
|
if (n < 2) return n
|
|
return fibRec.call(n-1) + fibRec.call(n-2)
|
|
}
|
|
|
|
System.print("Iterative: %(fibItr.call(36))")
|
|
System.print("Recursive: %(fibRec.call(36))")
|