RosettaCodeData/Task/Fibonacci-sequence/Wren/fibonacci-sequence.wren

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))")