使用Fibonacci数计算黄金比率

时间:2018-03-09 13:46:03

标签: swift sequence fibonacci

有一个第n个斐波纳契数的Swift代码

func fibonacci( n: Int) -> Int {
if n == 0 || n == 1 { return n; }

else { return fibonacci(n: n - 1) + fibonacci(n: n - 2) }
}
print(fibonacci(n: 10))

我想用Fibonacci数字来计算黄金比率

如何为n = 2到n = 10

制作F(n+1) / F(n)列表

我试过这样的事情:

func fibonacci( n: Int) -> Float {
if n == 0 || n == 1 { return n; }

else { return fibonacci(n: n - 1) + fibonacci(n: n - 2) }
}


func phi( k: Int) -> Float {

Phi = fibonacci(n: k)/fibonacci(n: k)
}


print(Phi(n: 10))

1 个答案:

答案 0 :(得分:1)

您可以使用数组。

func fibonacci(n: Int) -> Float {
if n == 0 || n == 1 
    { return 1.0; }
else { 
       return fibonacci(n: n - 1) + fibonacci(n: n - 2)
   }
}

var goldenRateArr = [Float]()

func phi(k: Int){

goldenRateArr.append( (fibonacci(n: k+1)/fibonacci(n: k)))

if (k > 2)
   { phi(k:k-1) }

}

phi(k:10)
print(goldenRateArr)

你的输出将是:

[1.6179775, 1.61818182, 1.61764705, 1.61904764, 1.61538458, 1.625, 
1.60000002, 1.66666663, 1.5]