n很大時n的階乘如何計算?斯特靈公式幫你解決一切

2020-12-22 電子通信和數學

斯特靈公式(Stirling's formula)是一條用來取n階乘近似值的數學公式。一般來說,當n很大的時候,n階乘的計算量十分大,所以斯特靈公式十分好用;而且,即使在n很小的時候,斯特靈公式的取值已經十分準確。

公式為:

這就是說,對於足夠大的整數n,這兩個數互為近似值。更加精確地:

這個公式,以及誤差的估計,可以推導如下。首先不直接估計n!,而是考慮它的自然對數:即:

這個方程的右面是如下積分的近似值(利用梯形法則)

而它的誤差由歐拉-麥克勞林公式給出:

其中Bk是伯努利數,Rm,n是歐拉-麥克勞林公式中的餘項。取極限,可得:

把這個極限記為y。由於歐拉-麥克勞林公式中的餘項Rm,n滿足:

其中用到了大O符號,與以上的方程結合,便得出對數形式的近似公式:

兩邊取指數,並選擇任何正整數m,便得到了一個含有未知數e^y的公式。當m=1時,公式為:

將上述表達式代入沃利斯乘積公式,並令n趨於無窮,便可以得出e^y=√2π,因此,我們便得出斯特靈公式:

這個公式也可以反覆使用分部積分法來得出,首項可以通過最速下降法得到。把以下的和

用積分近似代替,可以得出不含√2πn的因子的斯特靈公式(這個因子通常在實際應用中無關):

斯特靈公式實際上是以下級數(現在稱為斯特靈級數)的第一個近似值:

階乘的對數的漸近展開式也稱為斯特靈級數:

相關焦點

  • Python編程案例:計算自然數n的階乘
    阿萌又接到一個新的編程任務,要求用Python編寫一個計算自然數n階乘的程序,用於學生利用計算機來計算n的階乘。阿萌梳理了一下編程要求,他認為程序需要實現下面這些功能:程序啟動後,程序在Shell窗口輸出提示信息「請輸入一個自然數,輸入quit可退出程序:」,學生輸入一個自然數,程序計算自然數的階乘,並將計算結果輸出到Shell窗口。程序再次輸出「請輸入一個自然數:」,等待學生的下次輸入。
  • 在數學中,零的階乘為什麼等於1?
    階乘階乘是指所有小於以及等於某個數的正整數之積,記為:n!=1×2×3×……×n;在排列組合中我們經常遇到階乘運算,比如5個人按照順序進行排隊的話,就有「5!=120種」排列方法。按照階乘的定義,我們很容易得出這麼一個結論:(n+1)!=(n+1)*n!,其中n≥1且為整數;至於n=0的情況,超出了階乘的定義範圍,但是我們為了讓上面式子繼續成立,我們強行把n=0帶進去有:(0+1)!=(0+1)*0!
  • 初中數學公式:排列組合公式
    中考網整理了關於初中數學公式:排列組合公式,希望對同學們有所幫助,僅供參考。   1.排列及計算公式   從n個不同元素中,任取m(m≤n)個元素按照一定的順序排成一列,叫做從n個不同元素中取出m個元素的一個排列;從n個不同元素中取出m(m≤n)個元素的所有排列的個數,叫做從n個不同元素中取出m個元素的排列數,用符號p(n,m)表示.   p(n,m)=n(n-1)(n-2)……(n-m+1)=n!/(n-m)!(規定0!
  • 你知道根號2的階乘等於多少嗎?
    歐拉發現的伽瑪函數使得計算任意數的階乘變為可能,這是數學界的一大亮點,伽瑪函數Γ公式如下圖本篇我們來計算一個常見的無理數的階乘,如根號2,它的階乘等於多少呢?帶入上述的伽瑪函數Γ,精通微積分的朋友會發現這個積分沒有原始函數,也就是無法用牛頓萊布尼茲公式來計算j但數學的偉大就是為了解決科學難題而產生的,幸好我們有辛普森公式,它可以解決任意給定區間的積分,也就是無限近似趨近實際值辛普森公式如下
  • 貸款月利息計算公式是怎樣的?銀行貸款買房利息怎麼算?
    [導讀]很多人在資金緊張的時候會選擇好銀行借款,但是不同的銀行,利息不同,那麼貸款的月利息是如何計算的呢?拖欠利息該怎麼辦?讓我們一起來看看吧?貸款月利息=貸款本   很多人在資金緊張的時候會選擇好銀行借款,但是不同的銀行,利息不同,那麼貸款的月利息是如何計算的呢?拖欠利息該怎麼辦?讓我們一起來看看吧?
  • 如何計算曲線長度?
    對於一條連續的、光滑的曲線,根據定積分的幾何意義,很容易計算曲線與x軸所圍成的區域的面積,但如何計算曲線的長度呢?1.直角坐標曲線曲線f(x)為一條在區間[a,b]上連續且光滑的曲線,如圖1所示。現在假設用n-1個數將區間[a,b]分割成n個子區間。根據圖1可知,每個子區間的弧長可以近似用圖2的式子來表示。
  • 三角螺紋計算公式
    三角螺紋計算公式--(大,中,小)徑計算公式如下: 螺 距 P 原始三角形高度 H=0.866P 牙高(工作高度) H=0.5413P 內 螺 紋 大 徑 D--內螺紋公稱直徑大 徑 d--外螺紋公稱直徑 內 螺 紋 中 徑 D=D-0.6495P 外 螺 紋 中 徑 d=d-0.6495P 內 螺 紋 小 徑 D=D-1.0825P 外 螺 紋 小 徑 d=d-1.0825P螺紋的加工和計算
  • 類型四:由a(n+1)=pan+rq^n求通項?雙層構建難度大,不會別錯過
    當p≠q時進行兩次轉化;p=q時進行一次轉化即可,但是屬於兩種情況。令bn=an/q^n,則①式可轉化為b(n+1)=p/q·bn+r/q.當p=q時,數列{bn}為等比數列;當p≠q時,數列{bn}可以根據類型三進行轉化,求出數列bn通項公式,再根據數列bn通項公式求出數列an通項公式。
  • 類型三:由a(n+1)=pan+q求通項,固定構建方法,知此方,秒解決
    一般出現數列的題目,可能是讓你求數列的前n項和,或者證明某種不等關係,但是這些都需要先求出去數列的通項。先求出數列的通項,就要根據數列的遞推公式求解,而數列的遞推公式千變萬化,很多時候讓同學們手足無措,所以就要對數列的遞推公式進行總結和整理。
  • 夢幻西遊:資深玩家測試法抗計算公式 原來我們都想錯了!
    同時根據先降低傷害再計算百分比和先計算百分比後計算減五,又分為兩種情況。用公式表示,設不點修受到X點法傷結果。 1、第n級法抗受到的傷害=X*(1-2n%)-5n; 2、第n級法抗受到的傷害=(第n-1級法抗受到的傷害-5)*(1-2%); 3、第n級法抗受到的傷害=第n-1級法抗受到的傷害*(1-2%)-5; 看來聊是聊不出來了。那麼我們直接測試吧。
  • 時間複雜度的表示、分析、計算方法……一文帶你看懂時間複雜度!
    作者 | OverRedMaple責編 | Carol來源 | CSDN 博客封圖 | CSDN付費下載於東方 IC如果你還在發愁究竟怎麼計算時間複雜度和空間複雜度,那你是來對地方了!使用這種方式時,時間複雜度可被稱為是漸近的,亦即考察輸入值大小趨近無窮時的情況。時間複雜度的表示方法其實就是算法(代碼)的執行效率,算法代碼的執行時間。
  • 類型五:an=ma(n-1)/「ka(n-1)+c」求通項?思路不同一般都不會構建
    當m=c時,即上述的遞推公式變為bn=b(n-1)+k/m的形式,則此時數列{bn}是等差數列,即數列{bn}是以b1為首項,以k/m為公差的等差數列;當m≠c時,即上述的遞推公式必存在不為0的實數t,滿足bn+t=c/m·[b(n-1)+t]。
  • 類型二:由a(n+1)/an=f(n)求通項?歸類內容,常考類型,方法須知
    但是這道題中數列an的前n項和出現m這個字母,這是比較少見的,一般給出的題中只有字母n。所以這道題,我們要將這個字母m先求出來,再根據Sn求出數列an的地推公式,在根據遞推公式得出an的通項公式。因為a1=2,當n=1時代入an=n(n+1)=2,所有當n=1時數列an也成立。綜上所述,數列an的通項公式為an=n(n+1)。
  • 初中數學公式大全,趕緊幫孩子列印一份貼牆上
    初中數學公式:圓與弧的公式正n邊形的每個內角都等於(n-2)×180°/n弧長計算公式:L=n兀R/180扇形面積公式:S扇形=n兀R^2/360=LR/2內公切線長=d-(R-r)外公切線長=d-(R+r)①兩圓外離d>R+r②兩圓外切d=R+r③兩圓相交R-r<d<R+r(R>r)④兩圓內切d=R-r
  • 論創造性思維的溫養:如何締造自己的數學公式
    新的公式,定理或算法能被廣泛引用和承認,權威機構能以你自己的名字命名,那無疑表明你已踏入偉大數學家的行列。要達到這個層次,就需要相當的天賦和勤奮努力才行。這裡只討論第一的,第二個層次的情形。首先,如果只是對已有的數學公式做簡單的變形,不能說是自己創建的。比如說:著名的歐拉恆等式,也叫上帝公式。這個公式是如此神奇,數學家們感嘆只有萬能的上帝才能創造出來。
  • 3.14圓周率日,你知道圓周率有多牛嗎?
    1777 年,布豐自己解決了這個問題——這個概率值是 1/π 。這個問題可以用微積分直接求解,也能利用期望值的性質得到一個異常精妙的解答。即使我們現在已經能輕易求出它的答案,結論依然相當令人吃驚——在這個概率問題上,竟然也有 π 的蹤影。有人甚至利用投針法,求出過 π 的近似值來。我們把從 1 開始一直連乘到 n 的結果稱作「n 的階乘」,在數學中用 n! 來表示。