golang 递归练习题

package main
import "fmt"

func main(){
	 
	res := fbn(3)
	fmt.Println("res = ",res)
	fmt.Println("res = ",fbn(4))
	fmt.Println("res = ",fbn(5))
	fmt.Println("res = ",fbn(6))

	fmt.Println("res1 = ",f(6))

}

// 费波南 1,1,2,3,5,8,13,21
func fbn(n int) int {
	if n ==1 || n == 2{
		return 1
	} else {
		return fbn(n-1)+fbn(n-2)
	}
} 

// 函数f(1)=3; f(n) = 2*f(n-1)+1 使用递归编程方式
func f(n int) int {
	if n==1 {
		return 3
	}else{
		return  2 * f(n - 1) + 1
	}
}

 

你可能感兴趣的:(golang)