案例描述:
老板有1000个苹果,却只有10个箱子,客户给老板除了一个难题,说如果老板把题解开就把1000个苹果全买了,老板说没问题,来吧!我之前是程序员。客户说:“把你现在的1000个苹果全部装进10个箱子(分别为1号、2号.....10号),忽略箱子的容量大小,每个箱子都要装苹果,装几个你自己定,我要买几个苹果,你就告诉我,把几号,几号拿走,就是你要的个数。”,老板说:“呵呵。”
实现思路:
总共只有10个,
每新用的一个箱子所装的苹果数应是已装各箱子内的苹果数的总和加一.
因此不难判断,可以设计一个可行的方案,
各箱所装的苹果数应为:1,2,4,8,16,32,64,128,256,489.
故答案为:行,各个箱子放的苹果数依次为1,2,4,8,16,32,64,128,256,489.
代码实现:
<?php
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;
}
$num = $_GET['num'];
echo fun($num);
?>