直接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为开头,不断累计的集合.