字写很不错, 但问题我没看明白, 你的笔记上的问题描述和网络查询的猴子偷桃问题不一样.
网络上的猴子偷桃问题, 就是你的第一段代码.
建议 再描述下你的需求, 最好整几天的数字变化例子.
网上的猴子偷桃是类似这样 描述的,
第一天有 94 个桃子 , 猴群吃了一半, 剩47个, 但小猴子又多吃了1个. 剩46个
第二天有46个桃子 , 后群吃了一半, 剩23个,小猴子又多吃了1个. 剩22个
第二天有22个桃子 , 后群吃了一半, 剩11个,小猴子又多吃了1个. 剩10个
最好一天剩了1个. 问吃了几天
或者问类似这样,共吃了5天, 剩1个桃子.问原来有多个桃子.
猴子有一个桃子,他偷来一个桃子,觉得不够又偷来了与手上等量的桃子,一共偷了9天。
应该是这样吧
开始的时候, 猴子有1个桃子
第1天, 猴子去偷了1个桃子,再偷和当前数量(2)一样的桃子, 合计有4个桃子 (1+1) * 2 = 4
第2天, 猴子去偷了1个桃子,再偷和当前数量(5)一样的桃子, 合计有10个桃子 (4+1) * 2 = 10
第3天, 猴子去偷了1个桃子,再偷和当前数量(11)一样的桃子, 合计有22个桃子 (10+1)*2 = 22
第一种算法 算法,简单明了,只算最新的桃子数
第二种算法, 记录了桃子数变化, 我做了注释
第三种算法, 没看出来是啥意思。