/*方案一:画判定树ASL
7
3 11
1 5 9 13
2 4 6 8 10 12 14
ASL = 1/14(1*1+2*2+3*4+4*7)= 3.2142857142857 */
//方案二:代码
<?php
$num = 14;//总共多少个数
$arr = range(1,$num);
$count = 0;
for($i=1;$i<=$num;++$i){
$low = 0;
$high = $num;
while ($low<=$high) {
$count++;
$mid = floor(($low+$high)/2);
if($arr[$mid]==$i){
break;
}
else if($arr[$mid]>$i){
$high = $mid-1;
}else{
$low = $mid+1;
}
}
}
echo $count/$num;