专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

PHP百钱百鸡问题(三种解题思路及答案)

来源:小易整编  作者:小易  发布时间:2024-03-21 07:28
摘要:假设:如果公鸡1只,母鸡1只,小鸡1只,则总价为:......,不对。如果公鸡1只,母鸡1只,小鸡2只,则总价为:......,不对。如果公鸡1只,母鸡1只,小鸡3只,则总价为:......,不对。........................

假设:

PHP百钱百鸡问题(三种解题思路及答案)

如果公鸡1只,母鸡1只,小鸡1只,则总价为:......,不对。

如果公鸡1只,母鸡1只,小鸡2只,则总价为:......,不对。

如果公鸡1只,母鸡1只,小鸡3只,则总价为:......,不对。

...........................

如果公鸡1只,母鸡2只,小鸡1只,则总价为:......,不对。

如果公鸡1只,母鸡2只,小鸡2只,则总价为:......,不对。

如果公鸡1只,母鸡2只,小鸡3只,则总价为:......,不对。

.............................

如果公鸡100只,母鸡100只,小鸡100只,则总价为:......,不对。

这种编程思想叫做“穷举”,就是将所有可能的答案都罗列出来,然后挨个去验证。

代码如下:

公鸡:$gongji,母鸡: $muji,小鸡: $xiaoji";}$count++;}}}echo "
".$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 "
公鸡:$gongji,母鸡: $muji,小鸡: $xiaoji";}$count++;}}echo "
".$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 "
公鸡:$gongji,母鸡: $muji,小鸡: $xiaoji";}$count++;}}echo "
".$count;
登录后复制

结果:

公鸡:0,母鸡: 25,小鸡: 75公鸡:4,母鸡: 18,小鸡: 78公鸡:8,母鸡: 11,小鸡: 81公鸡:12,母鸡: 4,小鸡: 84364

总结:

直接用三重for循环是很容易想到的,但是三重循环的复杂度太大了,所以应该想到减少循环。直接把小鸡用总的鸡数减去公鸡和母鸡,就能减少一层循环,这样就能减少运行的时间,提高代码效率。

以上就是PHP百钱百鸡问题(三种解题思路及答案)的详细内容,更多请关注易企推科技其它相关文章!


本文地址:网络知识频道 https://www.hkm168.com/jiqiao/1152011.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


网络知识
小编:小易整编
相关文章相关阅读
  • PHP调用美联软通短信接口实现短信发送

    PHP调用美联软通短信接口实现短信发送

    随着人们生活水平的提高和科技的发展,短信已成为人们交流的主要方式之一,越来越多的企业开始通过短信平台来实现营销、提醒等功能。在这个过程中,短信接口的选择显得尤为重要。本文将介绍如何通过php调用美联软通短信接口实现短信发送。一、美联软通短信...

  • php怎么实现对字符串的排序

    php怎么实现对字符串的排序

    实现步骤:1、利用str_split()函数将字符串转为字符数组,语法“str_split(字符串)”;2、使用asort()或arsort()函数来对字符数组进行升序排序或降序排序,语法“asort(字符数组)”或“arsort(字符数组...

  • php文件gbk怎么转utf8

    php文件gbk怎么转utf8

    php文件gbk转utf8的方法:首先建立存放转换后文件的目录;然后建立对应的文件夹;最后通过“-execiconv-fgbk-tutf-8{}-outf8/...”方法转换php文件即可。本文操作环境:windows7系统...

  • 如何使用PHP中的字符串变量

    如何使用PHP中的字符串变量

    如何使用PHP中的字符串变量在PHP中,字符串变量是一种非常常见的数据类型,用于存储和操作文本数据。在本文中,我们将介绍如何使用PHP中的字符串变量,并提供一些具体的代码示例。字符串变量的声明和赋值在PHP中,要声明一个字符串变量,只需要使...

  • 如何解决 Windows 7 远程桌面出现黑屏的问题:11 种方法

    如何解决 Windows 7 远程桌面出现黑屏的问题:11 种方法

    远程桌面连接(rdc)是专业版和企业版windows上的一项有用功能,允许用户远程连接到另一台计算机,而无需其他软件。但是windows11远程桌面上的黑屏可能会毁掉这一切。黑屏问题是用户遇到的最常见问题之一。你想知道为什么屏...

  • 50道CSS基础面试题,附答案

    50道CSS基础面试题,附答案

    1介绍一下标准的css的盒子模型?与低版本ie的盒子模型有什么不同的?标准盒子模型:宽度=内容的宽度(content)+border+padding+margin低版本IE盒子模型:宽度=内容宽度(content+border+...

  • 解析如何解锁iPhone屏幕的教程,帮你解决手机被锁定的问题

    解析如何解锁iPhone屏幕的教程,帮你解决手机被锁定的问题

    你是否曾经遇到过忘记iphone的锁屏密码的情况?或者是否遭遇过熊孩子乱试密码导致iphone被锁定一个小时的情况呢?如果你曾经有类似的经历,需要快速解锁屏幕,那么可以考虑使用苹果屏幕解锁工具。这款工具是专为苹果用户设计的,可以帮助解锁苹果...

  • php中三元表达式怎么写

    php中三元表达式怎么写

    在php中,三元表达式可以实现简单的条件判断功能,写法为“表达式1?表达式2:表达式3”;如果条件“表达式1”成立,则执行语句“表达式2”,否则执行“表达式3”。本教程操作环境:windows7系统、PHP7.1版、DELLG3电脑php...

  • 周排行
  • 月排行
  • 年排行

精彩推荐