php 两个蛋判断最低从哪一楼扔下来刚好会碎
两个蛋判断最低从哪一楼扔下来刚好会碎 两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。有座100层的建筑,要你用这两个鸡蛋确定哪一层
两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。有座100层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位 置。可以摔碎两个鸡蛋。
<?php
function twoEggProblem($hight){
return ceil((sqrt(8*$hight+1)-1)/2);
}
echo twoEggProblem(100);
好吧,我改改:test是一台蛋碎机,0表示不碎,1表示。。。
function twoEggProblem($hight){
$len = ceil((sqrt(8*$hight+1)-1)/2);
$lenForFor = $len+1; //这个变量名不错吧、、、、
$rs = 0;
for ($i=1;$i<=$len;$i++){
$_len = $lenForFor-$i;
$rs += $_len;
if (test($rs) == 0) continue;
$rs -= $_len;
for ($j = 1;$j<$_len;$j++) {
$rs += 1;
if (test($rs) == 1) return $rs;
}
return ++$rs;
}
return 0;//oh ... ... 这是一只坚强的当当。。。
}
echo twoEggProblem(100);
//该片段来自于http://outofmemory.cn
精彩图集
精彩文章






