PHP经典算法百钱买小鸡
遇到一道有趣的题,并计算2种方法的效率,发现如果穷举所有组合竟高达1000000次排列~所以简化到了600次。所以,你的一个条件,或者一个运算,可能会提高几千倍的效率!
<?php
header("Content-Type:text/html;charset=utf-8");
//百钱买小鸡
/*
公鸡5文钱1只,母鸡三文钱一只,小鸡一文钱三只。
现在用100文钱共买了100只鸡,
问这100只鸡中,公鸡,母鸡,小鸡各是多少只?
*/$start = microtime(true);
//写法一 穷举所有排列:计算1000000次。
for($g = 1; $g <= 100; $g++){for($m = 1; $m <= 100; $m++){for($x = 1; $x <= 100; $x++){if($g+$m+$x == 100 && $g*5+$m*3+$x/3==100){echo "公,母,雏,分别为:".$g." ".$m." ".$x."<br />";}//计算排列组合次数if($g == 100 && $m == 100 && $x == 100){echo "排列次数为:".$g*$m*$x; }}}
}
echo "<br />";
$end = microtime(true);
echo "函数执行时间为:".($end - $start);//计算函数运行时间。
echo "<br />";//写法二:简化组合.
$start = microtime(true);
for($g = 1; $g < 20; $g++){for($m = 1; $m <= 33; $m++){$x = 100 - $g - $m;if($g+$m+$x == 100 && $g*5+$m*3+$x/3==100){echo "公,母,雏,分别为:".$g." ".$m." ".$x."<br />";}//计算排列组合次数if($g == 19 && $m == 33){echo "排列次数为:".$g*$m; }}
}
echo "<br />";
$end = microtime(true);
echo "函数执行时间为:".($end - $start);//计算函数运行时间。
echo "<br />";
?>
输出结果1:
公,母,雏,分别为:4 18 78
公,母,雏,分别为:8 11 81
公,母,雏,分别为:12 4 84
排列次数为:1000000
函数执行时间为:0.10584402084351
再来看一下第二套算法~整整差了一千倍~虽说是毫秒。
输出结果2:
公,母,雏,分别为:4 18 78
公,母,雏,分别为:8 11 81
公,母,雏,分别为:12 4 84
排列次数为:627
函数执行时间为:0.00016307830810547
PHP经典算法百钱买小鸡相关推荐
- Python 编程1000例(13):经典问题——百钱买百鸡
文章目录 一.需求及分析 二.代码实现 本系列文章通过 1000(一篇文章表示 1 个实例) 个实例 ,为读者提供较为详细的练习题目,以便读者举一反三,深度学习.本系列的文章涉及到 Python 知识 ...
- Java经典算法——百钱百鸡
题目: 公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,可以怎么买? public class BQBJ {public static void main(String[] ...
- java百_Java_百钱买百鸡
题目:公鸡3文钱,母鸡2文钱,3只小鸡1文钱,百钱买百鸡,求多少公鸡,母鸡,小鸡? public class Work6{ public static void main(String[] args) ...
- 经典算法题每日演练——第一题 百钱买百鸡
经典算法题每日演练--第一题 百钱买百鸡 原文:经典算法题每日演练--第一题 百钱买百鸡 百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱, ...
- 枚举法C语言三个马驮东西,【MagO第三期】经典枚举算法题:百钱买百鸡
原标题:[MagO第三期]经典枚举算法题:百钱买百鸡 01 历史故事 张邱建提出的百钱买百鸡问题: 山东临清的数学家--张邱建,约公元5世纪著名的大数学家.他将毕生的精力投入到算学研究之中,为数学的不 ...
- Java实现算法应用--百钱买百鸡 主要内容:公鸡5元一只,母鸡3元一只,小鸡一元3只。 * 问100块钱怎样可以买100只鸡?
Java实现算法应用–百钱买百鸡 @author asus 主要内容:公鸡5元一只,母鸡3元一只,小鸡一元3只. 问100块钱怎样可以买100只鸡? 具体代码如下: package package6; ...
- 百钱买百鸡问题与百钱兑换问题(C与C++)经典编程算法
百钱兑换问题提供了两种思路,最精彩的在最下面的代码,供大佬参考,优美的代码赏心悦目(附有详细思路,记得点赞!!!) 1.首先,让我们讲讲百钱买百鸡问题 张丘建在<算经>一书中提出的数学问题 ...
- 算法学习之百钱买百鸡
百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱, 用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好 ...
- java while求百钱买百鸡问题_java - 百钱百鸡小算法
百钱百鸡是一个非常经典的不定方程问题,最早源于我国古代的<算经>,这是古代著名数学家张丘建首次提出的.百钱百鸡问题原文如下: 鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买白鸡,问 ...
最新文章
- MySQL数据表命令
- 换掉VMware?轻量级虚拟机,横空出世!
- PriorBox 改进
- 25、Power Query-日期与时间数据处理
- Pandas中文官档 ~ 基础用法1
- shell编程基础-简述
- linux应用程序逆向,Linux下查看并下载命令源码包(根据命令/应用程序逆向获取并且安装其所属源码包)...
- java基础将一个int数组转换成一个字符串
- keychron k8 连接切换蓝牙方案
- Python图片攻击
- 运动控制 编码器记录
- 2021年机修钳工(初级)考试资料及机修钳工(初级)证考试
- 抖音的10个规则。AI大数据帮你解决
- matplotlib绘制树形图之基本配置——万能模板案例
- 参数化曲线-微分几何
- RIME鼠须管保姆级五笔配置教程
- 头孢是什么?什么是双硫仑反应?//2021-2-11
- 百练1724ROADS
- SAP 如何打Note
- java autoconf_PHP动态编译出现Cannot find autoconf
热门文章
- 考研计算机统考考点,大家帮忙.有没有09年计算机考研统考大纲-之操作系统考点分析 爱问知识人...
- php横向扩展,Tp框架怎样 写才能写出可以横向扩展的程序!
- 使用OpenGL画出四边形不完整的解决
- select选择地区插件
- linux操作系统是手机还是电脑,电脑的操作系统和手机的操作系统是一回事吗?...
- Ubuntu字体安装(WPS)
- 工字型钢弹性截面模量计算公式_工字钢的公式
- 两种时间格式2017-03-15T16:52:38.186+0800和2017-03-15T16:52:38.186Z的区别
- Bzoj1233 [Usaco2009Open]干草堆tower
- ES报文辅助生成工具-JavaFX