func fibonacci(_ n: Int) -> Int {
if n <= 1 {
return n
}
return fibonacci(n-1) + fibonacci(n-2)
}
func fibonacciDP(_ n: Int) -> Int {
var fibArray = [0, 1]
if(n>=2){
for i in 2...n {
fibArray.append(fibArray[i-1] + fibArray[i-2])
}
}
return fibArray.last!
}
func testFibonacci() {
print(fibonacci(0))
print(fibonacci(1))
print(fibonacci(2))
print(fibonacci(3))
print(fibonacci(4))
print(fibonacci(5))
print(fibonacci(6))
print(fibonacci(7))
print(fibonacci(8))
print(fibonacci(9))
print(fibonacci(10))
print("-------")
print("DP")
print("-------")
print(fibonacciDP(0))
print(fibonacciDP(1))
print(fibonacciDP(2))
print(fibonacciDP(3))
print(fibonacciDP(4))
print(fibonacciDP(5))
print(fibonacciDP(6))
print(fibonacciDP(7))
print(fibonacciDP(8))
print(fibonacciDP(9))
print(fibonacciDP(10))
}
testFibonacci()