二分法求临界值[非递归算法]

// 总楼层
$number = 100;
// 持有值
$keep_value = 0;
// 临界值(最低摔碎的楼层)
$is_suile = 96;
// 实验次数
$count = 0;
while(intval($number/2) != 0){
	$count++;
	if(intval($number/2)+$keep_value<$is_suile){
		$keep_value = $keep_value+intval($number/2);
	}
	if(intval($number/2)+$keep_value==$is_suile){
		break;
		// return intval($number/2)+$keep_value;
	}
	$number = intval($number/2);
}
echo '运算次数:'.$count.'<br/>';
echo '最终结果:'.(intval($number/2)+$keep_value);

    原文作者:递归算法
    原文地址: https://blog.csdn.net/shuzipai/article/details/55212722
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞