用Go语言 解决猴子吃桃的问题 (Golang经典编程案例)

问题:有一堆桃子,猴子第一天吃了其中的一半,并在多吃了一个。以后猴子每天都吃其中的一半,然后再多吃一个,当到第10天时,发现只有一个桃子了。问题:最初共有多少个桃子。

思路分析

  1. 第10天只有一个桃子;
  2. 第9天的桃子数 = (第10天桃子数+1)*;
  3. 规律:第n天的桃子数:peach (n) = (peach(n+1) + 1) * 2

代码如下:

package main

import "fmt"

func peach(n int) int{
	if n>10 || n<1 {
		fmt.Println("输入的天数不对")
		return 0
	} else if n==10 {
		return 1
	} else {
		return (peach(n+1)+1)*2
	}
}

func main() {
	fmt.Print("请输入天数:")
	var n int
	fmt.Scan(&n)
	fmt.Printf("第%v天桃子的数量是:%v",n,peach(n))
}

执行结果如下图所示:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/cui_yonghua/article/details/93377813