首页 > 其他 > 详细

斐波那契数的三种计算方式

时间:2020-07-29 02:08:52      阅读:79      评论:0      收藏:0      [点我收藏+]

直接for循环输出

package main

func main(){
	var a int = 0
	var b int = 1
	for i:=0;i<20;i++{
		a = a + b
		println(a)
		b = a ^ b
		a = b ^ a
		b = a ^ b
	}
}

 递归函数调用

package main

import "fmt"

func main(){
	for i := 0; i <20; i++ {
		fmt.Println(fb(i))
	}
}

func fb(i int) int {
	if i <= 1{
		return 1
	} else {
		return fb(i - 2) + fb(i-1)
	}
}

函数闭包

package main

func main(){
	f := bb()
	for i := 0; i < 10; i++{
		println(f())
	}
}
func bb() func() int{
	n := 0
	b := 1
	return func() int {
		n = b +n
		b = n ^ b
		n = n ^ b
		b = n ^ b
		return n
	}
}

 

 总结:斐波那契数是以0和1为开头,不断累计的集合.

 

斐波那契数的三种计算方式

原文:https://www.cnblogs.com/hardykay/p/13394656.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!