定义
- 斐波那契数列是一系列数字,除了第一个和第二个数字之外,任何数字都是前两个数字之和:
0、1、1、2、3、5、8、13、21...... - 数列中的第一个斐波那契数的值为0,第四个斐波那契数为2,第n个斐波那契数的值可以通过下述公式计算:
fib(n) = fib(n-1) + fib(n-2)
swift 迭代计算:
/*
* prev与curr分别代表f(n-1)和f(n)
* 计算prev+curr赋值给curr,curr赋值给prev,经过n次赋值后可以算出结果
*/
func fib(_ n: UInt) -> [UInt] {
var (prev, curr) = (0, 1)
let array = NSMutableArray.init()
for _ in 0..<n {
(curr, prev) = (curr + prev, curr)
array.add(curr)
}
return array as! [UInt]
}
python语法:
# 斐波那契(fibonacci)数列模块
def fibonacci(n): # 返回到 n 的斐波那契数列
result = []
a, b = 0, 1
while b < n:
result.append(b)
a, b = b, a+b
return result