递归调用课堂练习(2)|学习笔记

简介: 快速学习递归调用课堂练习(2)

开发者学堂课程【Go语言核心编程 - 基础语法、数组、切片、Map递归调用课堂练习(2)】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/625/detail/9600


递归调用课堂练习(2)

练习题3

题3:猴子吃桃子问题

有一堆桃子,猴子第一天吃了其中的一半,并再多吃了一个。以后每天猴子都吃其中的一半,然后再多吃一个。当到第十天时,想再吃时(还没吃) ,发现只有1个桃子了。

问题:最初共多少个桃子?

思路分析:

1.第10天只有一个桃子

2.第9天有几个桃子 = (第10天桃子数量 + 1)*2

3.规律:第n天的桃子数量 peach(n)=(peach(n+1) + 1)*2

4.n的范围是 1--10之间

新建文件夹exercise03新建文件main.go

代码:

func peach(n int) int {

if n> 10 || n<1 {

fmt. Println("输入的天数不对")

return 0

//返回0表示没有得到正确数量

}

if n == 10 {

return 1

} else {

return (peach(n + 1) + 1) *2

}

}

func main() {

fmt.PrintIn("第1天桃子数量是=", peach(1))//1543

}

运行后 第1天桃子数量是= 1534

第10天桃子数量是= 1   第9天桃子数量是= 4  

输入的天数不对

第11天桃子数量是 =0

相关文章
|
11月前
|
C语言
C语言函数练习题详解
C语言函数练习题详解
61 1
|
6月前
|
C语言
【汇编语言实战】使用插入排序对给定的数组排序(用栈传递参数)
【汇编语言实战】使用插入排序对给定的数组排序(用栈传递参数)
36 1
|
5月前
|
C语言
C语言学习记录——用递归思想求第n个斐波那契数,函数递归
C语言学习记录——用递归思想求第n个斐波那契数,函数递归
26 0
|
6月前
|
算法 C语言
C语言函数递归调用详解与实战应用
C语言函数递归调用详解与实战应用
56 0
|
C语言
【C语言】用函数递归的方法解决汉诺塔问题
【C语言】用函数递归的方法解决汉诺塔问题
68 0
|
Python
如何写出你的第一个递归函数?
如何写出你的第一个递归函数?
83 0
|
算法
【学习笔记之我要C】函数递归
【学习笔记之我要C】函数递归
57 0
|
算法 程序员 编译器
|
算法 C语言
C语言学习笔记—P9(函数<2>+递归+图解+题例)
C语言学习笔记(函数<2>+递归+图解+题例)
104 0
C语言学习笔记—P9(函数<2>+递归+图解+题例)
看代码求结果练习题(递归例题)
看代码求结果练习题(递归例题)
95 0
看代码求结果练习题(递归例题)