龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 两个蛋判断最低从哪一楼扔下来刚好会碎

时间:2014-07-23 15:56来源:网络整理 作者:网络 点击:
分享到:
两个蛋判断最低从哪一楼扔下来刚好会碎 两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。有座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
精彩图集

赞助商链接