首页 > 其他 > 详细

Go递归函数

时间:2020-02-01 09:37:10      阅读:49      评论:0      收藏:0      [点我收藏+]

技术分享图片

package main

import "fmt"

func main() {
	/*
		递归函数(recursion):一个函数自己调用自己,就叫做递归函数。
			递归函数要有一个出口,逐渐的向出口靠近
 */
	//1.求1-5的和
	sum := getSum(5)
	fmt.Println(sum)

	//2.fibonacci数列:
	/*
	1	2	3	4	5	6	7	8	9	10	11	12		。。。
	1	1	2	3	5	8	13	21	34	55	89	144


	 */
	 res := getFibonacci(12)
	 fmt.Println(res)
}
func getFibonacci(n int)int{
	if n== 1 || n == 2{
		return 1
	}
	return getFibonacci(n-1)+getFibonacci(n-2)
}

func getSum(n int)int{
	fmt.Println("**********")
	if n == 1{
		return 1
	}
	return getSum(n-1) + n
}
/*
求1-5的和
getSum(5)

	getSum(4) + 5

		getSum(3) + 4

			getSum(2) + 3

				getSum(1) + 2

				1
 */

  

Go递归函数

原文:https://www.cnblogs.com/yzg-14/p/12247496.html

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