算数题
2016-04-26 13:20
218 查看
老板有1000个苹果,却只有10个箱子,客户给老板除了一个难题,说如果老板把题解开就把1000个苹果全买了,老板说没问题,来吧!我之前是程序员。客户说:“把你现在的1000个苹果全部装进10个箱子(分别为1号、2号.....10号),忽略箱子的容量大小,每个箱子都要装苹果,装几个你自己定,我要买几个苹果,你就告诉我,把几号,几号拿走,就是你要的个数。”,老板说:“呵呵。”
1.第一种算法
2.第二种算法
1.第一种算法
<?php header("content-type:text/html;charset=utf-8"); function fun($num){ $arr=array(489,256,128,64,32,16,8,4,2,1); static $aa=''; foreach($arr as $k=>$v){ if($num>=$v){ $num=$num-$v; $aa.=($k+1).','; fun($num); break; } } $aa=trim($aa,','); return $aa; } echo fun(500);
2.第二种算法
<?php header("content-type:text/html;charset=utf-8"); $arr=array(256,128,64,32,16,8,4,2,1); print_r($arr); function dec($num){ $num = decbin($num); return substr("000000000",0,9 - strlen($num)) . $num; } $n=489; if($n>=512){ $n=$n-489; $count1[10]=489; } echo "<br/>"; $str = dec($n); echo $str; echo "<br/>"; for($i=0;$i<9;$i++){ $count[$i]=substr($str,$i,1); } print_r($count); echo "<br />"; foreach($count as $key=>$val){ if($val==1){ $count1[$key]=$arr[$key]; } } print_r($count1);
相关文章推荐
- Mule 官方例子研究
- 前端学习 CSS学习
- Linux nano 命令大全
- Blade模板引擎
- UNPv1第十七章:路由套接口
- Transaction 那点事儿【写的太好了】
- Jenkins中使用过的Msbuild编译bat
- 实现分布式锁的几种方式
- duilib入门问题
- maven/gradle 打包后自动上传到nexus仓库---学习笔记
- HoloLens开发手记 - 应用程序模型 App model
- select2学习笔记
- 设计模式之---中介者模式(Mediator Design Pattern)
- HTML5 JS 实现浏览器全屏(F11的效果)
- 第九周周记
- IOS中十六进制的颜色转换为UIColor
- Ranking Problem
- IO编程
- 朴素贝叶斯的三个常用模型:高斯、多项式、伯努利
- C/C++复习:向量的数量积