您的位置:首页 > 其它

算数题

2016-04-26 13:20 218 查看
老板有1000个苹果,却只有10个箱子,客户给老板除了一个难题,说如果老板把题解开就把1000个苹果全买了,老板说没问题,来吧!我之前是程序员。客户说:“把你现在的1000个苹果全部装进10个箱子(分别为1号、2号.....10号),忽略箱子的容量大小,每个箱子都要装苹果,装几个你自己定,我要买几个苹果,你就告诉我,把几号,几号拿走,就是你要的个数。”,老板说:“呵呵。”

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: