用循环实现斐波那契数列_Golang实现费波那契数列

ee7d63cb1f991bcc9aa65e4b6a2bc428.png

盛开的向日葵

斐波那契数列(Fibonacci sequence)指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........

这个数列从第3项开始,每一项都等于前两项之和。有趣的是,随着数列项数的增加,前一项与后一项之比越来越逼近黄金分割的数值0.6180339887...

1÷1=1,1÷2=0.5,2÷3=0.666..., 3÷5=0.6,5÷8=0.625...,55÷89=0.617977..., 144÷233=0.618025......46368÷75025=0.6180339886...

斐波那契数列的定义者,是意大利数学家列昂纳多·斐波那契(Leonardo Fibonacci), 斐波那契数列中的斐波那契数会经常出现在我们的眼前——比如松果、凤梨、树叶的排列、某些花朵的花瓣数(典型的有向日葵花瓣),蜂巢,蜻蜓翅膀

fa163fb11267bd4b24493ae5684ac1d0.png

向日葵花瓣

今天我们用Golang实现一下斐波那契数列

package mainimport "fmt"// 斐波那契函数func fibonacci() func() int { a := 1 b := 1 c := 1 loop := 0 return func() int { loop += 1 if (loop < 3) { return a } a = b b = c c = b + a return c }}func main() { f := fibonacci() for i := 0; i < 10; i++ { fmt.Println(f()) }}

go run main.go

输出:

1

1

2

3

5

8

13

21

34

55

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值