二分法求臨界值[非遞歸算法]

// 總樓層
$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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章