斯特林gongshi

ACM_e發表於2018-02-22
普通計算時:


N!=1*2*3*4*5*............*N;


如果要計算N!後得到的數字,則我們可以知道其等於lgN!+1


lgN!=lg1+lg2+lg3+lg4+lg5+....................+lgN;


但是當N很大的時候,我們可以通過數學公式進行優化:(即Stirling公式)


N!=sqrt(2*pi*N)*(N/e)^N;(pi=3.1415926=acos(-1.0),e=2.718)


lgN!=(lg(2*pi)+lgN)/2+N*(lgN-lge);


斯特林公式可以用來估算某數的大小結合lg可以估算某數的位數,或者可以估算某數的階乘是另一個數的倍數。

連結:https://www.nowcoder.com/acm/contest/75/A
來源:牛客網

題目描述

夫夫有一天對一個數有多少位數感興趣,但是他又不想跟凡夫俗子一樣,
所以他想知道給一個整數n,求n!的在8進位制下的位數是多少位。

輸入描述:

第一行是一個整數t(0<t<=1000000)(表示t組資料)
接下來t行,每一行有一個整數n(0<=n<=10000000)

輸出描述:

輸出n!在8進位制下的位數。

相關文章