go语言基础之递归实现数字累加

1、实现1+100 = 5050

示例:

package main

import "fmt"

//实现1+2+3+……100
func test01() (sum int) {
	for i := 1; i <= 100; i++ {
		sum += i
	}
	return
}

func main() {
	var sum int
	sum = test01()
	fmt.Println("sum = ", sum)
}

执行结果:

sum =  5050

 

2、递归实现1+2+3+……100

示例:

package main

import "fmt"

//实现1+2+3+……100
func test02(i int) int {
	if i == 1 {
		return 1
	}
	return i + test02(i-1)
}

func main() {
	var sum int
	sum = test02(100)
	fmt.Println("sum = ", sum)
}

执行结果:

sum =  5050

分析流程:

3、递归实现1+2+3+……100

示例:

package main

import "fmt"

//实现1+2+3+……100
func test03(i int) int {
	if i == 100 {
		return 100
	}
	return i + test03(i+1)
}

func main() {
	var sum int
	sum = test03(1)
	fmt.Println("sum = ", sum)
}

执行结果:

sum =  5050

 

posted @ 2019-01-07 09:56  努力哥  阅读(1839)  评论(0编辑  收藏  举报