另一个猴子吃桃子的问题
群友提出另外一个猴子吃桃子的问题
一个猴子第一天吃掉一半桃子,第二天吃掉前一天剩下的一半零两个,第三天吃掉剩下的一半零两个,第十天只剩下一个桃子,求第一天一共吃掉多少个桃子?
这道题我没有求第一天吃掉多少桃子,我算的是某一天有多少桃子,只要拿那时候的桃子数量除以2减去2即可。
代码如下:
<?php $num=10; $start=1; for ($i=$num-1; $i >1 ; $i--) { $start=2*($start+2); echo "第{$i}天剩余{$start}个<br/>"; } $start*=2; echo "第1天剩余{$start}个<br/>"; exit();
效果如图:

然后我发现,有一个公式,就是除了第一天以外,其余的都是前一天除以2减去2,那么问题就变的简单了。
得到规律的公式公式如下:
然后我就发现这些规律 由于需要除以2 在再减去2,不如合并进去得到减去4 再除以2
得到式子如下:
这个时候就很明朗了,我们发现虽然a不好找规律,但是加上4就成为了一个乘积的数列 由于第9天的是6 就是 10*1-4 ,得到公式
当然第一天的要另外算,于是 n-1就等于 $num-$i 表示距离最后一天还有几天
代码如下:
<?php $num=10; $start=1; for ($i=$num-1; $i >1 ; $i--) { $start=10*pow(2,$num-$i-1)-4; echo "第{$i}天剩余{$start}个<br/>"; } $start*=2; echo "第1天剩余{$start}个<br/>"; exit();
效果图如下:
对比公式如下:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2017-04-11 时间戳过了2038年以后不能用了怎么办?
2017-04-11 正方形表格求行列相加所得结果2(升级版本)
2017-04-11 THINKPHP5获取设置缓存的例子