风喃4330619
2018-05-10 11:56
这里为什么有两个n+1,
第十天剩一个, 第九天就在昨天的基础1个上 +1 乘以二(因为每天都吃一半多一个) 第八天就在第九天的基础上 +1 乘以2 类推...
倒推一下。当实际的n+1=10的时候,我们给getPeachNumber(n)传递的这个“n”就是10了,此时根据自定义函数的内容getPeachNumber返回1,即在getpeachnumber(9)里面的num=(1+1)*2;,那么getpeachnumber(8)里面的num=((1+1)*2+1)*2 ; 然后一层层向外算直到最外面那层。
n代表的是天数,函数里的n+1是为了让天数往前走,外面的+1是题目里的“一半多一个”中的“多一个”。
可以试试用纸把函数里的num计算都列出来,马上就会看懂了。
如果还不明白欢迎继续提问
C语言入门
926024 学习 · 20793 问题
相似问题