最近因為一些原因在研究班佛法則,就隨手找了一些數據集想手動驗證一下,第一個問題就是怎麼取得一個數字的最高位數,比如說 5678 的 ‘5’,18736353 的 ‘1’,在網路上搜了一下,最高分的答案居然是從字串著手 XD
function getFirstDigit($num){
return substr( strval($num),0,1 );
}
正規數學解
function getFirstDigit($num) {
while ($num >= 10){
$num = $num/10;
}
return (int)$num;
}
沒跑 benchmark 不曉得效能差多少
李永樂老師的推演相當精彩