斯特林近似是用來計算n的階乘的近似值的公式:
如果要計算n!後得到的數字為幾位數,則我們可以知道其位數等於 lg(n!) +1;
stirling公式的意義在於:當n足夠大時,n!計算起來十分困難,雖然有很多關於n!的等式,但並不能很好地對階乘結果進行估計,尤其是n很大之後,誤差將會非常大。但利用stirling公式可以將階乘轉化成冪函式,使得階乘的結果得以更好的估計。而且n越大,估計得越準確。
利用stirling公式求解n!的位數:易知整數n的位數為[lgn]+1。利用stirling公式計算n!結果的位數時,可以兩邊取對數,得:
例題:51nod1130
1130 n的階乘的長度 v2(斯特林近似)
基準時間限制:1 秒 空間限制:131072 kb 分值: 0
難度:基礎題
輸入n求n的階乘的10進製表示的長度。例如6! = 720,長度為3。
input
第1行:乙個數t,表示後面用作輸入測試的數的數量。(1 <= t <= 1000)output第2 - t + 1行:每行1個數n。(1 <= n <= 10^9)
共t行,輸出對應的階乘的長度。input示例
345output示例6
233
#include #define e 2.718281828459
#define pi 3.1415926
#define ll long long
using namespace std;
int main()
return 0;
}
斯特林數 斯特林反演
第一類stirling數 s n,m 也可記為 beginn m end 第一類stirling分為無符號第一類stirling數 s u n,m 和帶符號第一類stirling數 s s n,m 他們分別表現為其公升階函式和降階函式的各項係數,形式如下 x x cdot x 1 cdot x 2 ...
斯特林公式
斯特林公式是一條用來取n階乘近似值的數學公式。一般來說,當n很大的時候,n階乘的計算量十分大,所以斯特靈公式十分好用。斯特林公式可以用來估算某數的大小,結合lg可以估算某數的位數,或者可以估算某數的階乘是另乙個數的倍數。stirling公式的意義在於 當n足夠大時,n 計算起來十分困難,雖然有很多關...
斯特林公式
斯特林公式的常見表示形式 顯而易見,這個公式主要是用來求近似的階乘的值的,在競賽中往往只採用第乙個形式,其精確度已經足夠用來求階乘位數了.lg n lg 2 n 2 n lg n lg e 這個公式就是圖中第乙個式子左右同時求對數得到的.不難發現,10x,10 x 1 之間囊括了所有長度為x 1的數...