PHP百钱百鸡问题(三种解题思路及答案)
php  /  管理员 发布于 7年前   180
我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
翻译过来就是:
公鸡5元一只,母鸡3元一只,小鸡1元3只,100元买了100只鸡,问各多少只?
下面利用PHP分三种方法来解决这个问题:
假设:
如果公鸡1只,母鸡1只,小鸡1只,则总价为:......,不对。
如果公鸡1只,母鸡1只,小鸡2只,则总价为:......,不对。
如果公鸡1只,母鸡1只,小鸡3只,则总价为:......,不对。
...........................
如果公鸡1只,母鸡2只,小鸡1只,则总价为:......,不对。
如果公鸡1只,母鸡2只,小鸡2只,则总价为:......,不对。
如果公鸡1只,母鸡2只,小鸡3只,则总价为:......,不对。
.............................
如果公鸡100只,母鸡100只,小鸡100只,则总价为:......,不对。
这种编程思想叫做“穷举”,就是将所有可能的答案都罗列出来,然后挨个去验证。
代码如下:
<?php$count = 0;for($gongji = 0;$gongji <= 100;$gongji++){for ($muji=0; $muji <= 100; $muji++) { for ($xiaoji=0; $xiaoji <= 100 ; $xiaoji++) { if($gongji + $muji + $xiaoji ==100 && $gongji*5 + $muji*3 + $xiaoji / 3 == 100){ echo "<br>公鸡:$gongji,母鸡: $muji,小鸡: $xiaoji";}$count++;}}}echo "<br>".$count;
结果:
公鸡:0,母鸡: 25,小鸡: 75公鸡:4,母鸡: 18,小鸡: 78公鸡:8,母鸡: 11,小鸡: 81公鸡:12,母鸡: 4,小鸡: 841030301
代码如下
$count = 0;for($gongji = 0;$gongji <= 100 / 5;$gongji++){for ($muji=0; $muji <= 100 / 3; $muji++) { $xiaoji = 100 - $gongji - $muji;if($gongji*5 + $muji*3 +$xiaoji / 3 == 100){echo "<br>公鸡:$gongji,母鸡: $muji,小鸡: $xiaoji";}$count++;}}echo "<br>".$count;
结果:
公鸡:0,母鸡: 25,小鸡: 75公鸡:4,母鸡: 18,小鸡: 78公鸡:8,母鸡: 11,小鸡: 81公鸡:12,母鸡: 4,小鸡: 84714
代码如下
$count = 0;for($gongji = 0;$gongji <= 100 / 5;$gongji++){for ($muji=0; $muji <= (100-$gongji*5) / 3; $muji++) { $xiaoji = 100 - $gongji - $muji;if($gongji*5 + $muji*3 +$xiaoji / 3 == 100){echo "<br>公鸡:$gongji,母鸡: $muji,小鸡: $xiaoji";}$count++;}}echo "<br>".$count;
结果:
公鸡:0,母鸡: 25,小鸡: 75公鸡:4,母鸡: 18,小鸡: 78公鸡:8,母鸡: 11,小鸡: 81公鸡:12,母鸡: 4,小鸡: 84364
总结:
直接用三重for循环是很容易想到的,但是三重循环的复杂度太大了,所以应该想到减少循环。直接把小鸡用总的鸡数减去公鸡和母鸡,就能减少一层循环,这样就能减少运行的时间,提高代码效率。
以上就是PHP百钱百鸡问题(三种解题思路及答案)的详细内容,更多请关注其它相关文章!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号