我个人觉得这道题出的是一个错误的题目,运行结果也是错误的。不符和表达意思,个人看法。欢迎大家讨论。
第一天摘了X个桃子,当时吃了一半,然后再多吃一个。
假设桃子总数已知为1534,
那么摘了1534个,当时吃了一半,再吃多一个。应该为1534/2-1=766,那么第一天剩余的桃子总数应为766。
第二天又吃了一半再多一个 剩余:766/2-1=382, 第三天又吃了一半再多一个 剩余:382/2-1=190。
第四天又吃了一半再多一个 剩余:190/2-1=94,第五天又吃了一半再多一个 剩余:94/2-1=46.
第六天又吃了一半再多一个 剩余:46/2-1=22,第七天又吃了一半再多一个 剩余:22/2-1=10
第八天又吃了一半再多一个 剩余10/2-1=4,第九天又吃了一半多一个 剩余:4/2-1
这里到第九天的时候就只有一个了,没有第十天之说。
另外本人给所有同学解释一下(get(n+1)+1)*2什么意思
已知第9天剩余数量为1 所以if(n==9 ) return 1;
第8天的数量=第9天数量+1*2 表达为第八天的第二天的数量 +1*2 (get(n+1)+1)*2
第9天数量我们表示为get(9)
所以第8天数量=(get(9)+1)*2 成n+1模式为 (get(8+1)+1)*2
第7天数量 =第八天数量+1*2 表达为第7天的第二天数量 +1*2
第7天的第二天的数量是 第7天的第二天的第二天数量+1*2 表达 ((get(7+1)+1)*2)。