RosettaCodeData/Task/Fibonacci-n-step-number-sequences/Sidef/fibonacci-n-step-number-sequences-2.sidef
2020-02-17 23:21:07 -08:00

14 lines
308 B
Text

func fibonacci_matrix(k) is cached {
Matrix.build(k,k, {|i,j|
((i == k-1) || (i == j-1)) ? 1 : 0
})
}
func fibonacci_kth_order(n, k=2) {
var A = fibonacci_matrix(k)
(A**n)[0][-1]
}
for k in (2..9) {
say ("Fibonacci of k=#{k} order: ", (15+k).of { fibonacci_kth_order(_, k) })
}