问题展示
思路分析
不管是哪门编程语言,递归函数的重要性不言而喻。你只要掌握了下面这两点,没有写不出来的递归。
- 找到初始值
- 找到递归表达式
结合案例分析
1、找到初始值
第10天 有一个桃子
2、找到递归表达式
第9天 =(第10天+1)*2
第8天 = (第9天+1)*2
所以,总结表达式 : 前一天 = (后一天+1)*2
代码展示
package main
import "fmt"
func sf(day int) int {
if day == 10 {
return 1
} else {
return (sf(day+1) + 1) * 2
}
}
func main() {
fmt.Println("day(1) =>", sf(1))
}