google有一個很方便的功能「計算機功能」,其中有一個階乘的計算。如果大家還記得以前的數學,例如5階乘意思是  5! = 5 x 4 x 3 x 2 x 1,如果給的數字太大,通常程式會回報數字溢位。所以我就手賤想試一下google計算機能支援到多大的數字,玩起來還滿像估價王的XD。

最後試出的答案是170!,超過170!的東西他就變成網頁搜尋了,以下附贈簡單的階乘程式

//*************************************************
//  函式名稱:階乘函式
//  功能說明:5! =  5 * 4 * 3 * 2 * 1 = echelon(5)
//*************************************************
function Factorial($n){
    if($n == 1 || $n == 0 ) {
        return 1;
    } else {
        return $n * Factorial($n - 1);
    }
}

若輸入太大的數字,在PHP會自動轉為科學數字記號。 例如:170! = 7.25741561531E+306

後來試著PHP可以接受的值是多少,發現竟然也是170耶,超過170後,得到的結果會變 171! = INF 相關數字溢位資訊可參數此處【超長整數運算(大數運算)

低溫烘培 發表在 痞客邦 PIXNET 留言(0) 人氣()