首页> 基础笔记 >GoLang基础学习 >经典案例 经典案例
Go递归经典案例:猴子吃桃
作者:小萝卜 2023-04-03 【 GoLang 】 浏览 682
简介有一堆桃子,猴子第一天吃了其中的一半,并再多吃了一个!以后每天猴子都吃其中的一半,然后再多吃一个。当到第十天时,想再吃时(还没吃),发现只有 1个桃子了。问题:最初共多少个桃子?
package main
import "fmt"
//有一堆桃子,猴子第一天吃了其中的一半,并再多吃了一个!以后每天猴子都吃其中的一半,然后
//再多吃一个。当到第十天时,想再吃时(还没吃),发现只有 1个桃子了。问题:最初共多少个桃子?
/*
思路分析:
1)第 10天只有一个桃子
2)第 9天有几个桃子 = (第 10天桃子数量 + 1) * 2
3)规律:第 n天的桃子数据 peach(n) = (peach(n+1) + 1) * 2
*/
func bb(n int) int {
//n是有范围的1-10之间
if n < 1 || n > 10 {
fmt.Println("输入的时间不对")
return 0
}
if n == 10 {
return 1
} else {
return (bb(n+1) + 1) * 2
}
}
func main() {
fmt.Println("最初的桃子数量", bb(1)) //1534
}
很赞哦! (1)
下一篇:Go递归经典案例:斐波那契数