I know elixir is a functional programming language and this means can’t make a change state in some problems? Do I am missing something?
Can use any techniques to replace for solution dynamic programming Fibonacci? This is my solution in Golang
package main
import "fmt"
func fib(n int) int {
// make initial array with size (n+1)
answer := make([]int, n+1)
// set answer[0] and answer[1] with default values
answer[0] = 0
answer[1] = 1
// run dynamic programming and memorize steps
// such that answer[i] = answer[i-1] + answer[i-2]
// for each 2 <= i <= n
for i := 2; i <= n; i++ {
answer[i] = answer[i-1] + answer[i-2]
}
// check answer array
fmt.Println(answer)
// fib(n) is last element of answer array
return answer[n]
}
func main() {
// test
fmt.Println(fib(10))
// output: [0 1 1 2 3 5 8 13 21 34 55]
// 55
}






















