stirling公式(斯特林公式)
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可以估算某數的位數,或者可以估算某數的階乘是另乙個數的倍數。
#include#includeint main()
printf("%d\n",(int)s+1);
}return 0;
}
69 數的長度
時間限制 3000 ms 記憶體限制 65535 kb 難度 1 描述 n!階乘是乙個非常大的數,大家都知道計算公式是n n n 1 2 1.現在你的任務是計算出n!的位數有多少 十進位制 輸入 首行輸入n,表示有多少組測試資料 n 10 隨後n行每行輸入一組測試資料 n 0 n 1000000 輸...
NYOJ 69 數的長度
時間限制 3000 ms 記憶體限制 65535 kb難度 1 描述 n!階乘是乙個非常大的數,大家都知道計算公式是n n n 1 2 1.現在你的任務是計算出n!的位數有多少 十進位制 輸入 首行輸入n,表示有多少組測試資料 n 10 隨後n行每行輸入一組測試資料 n 0 n 1000000 輸出...
nyoj 69 數的長度
時間限制 3000 ms 記憶體限制 65535 kb 難度 1描述 n!階乘是乙個非常大的數,大家都知道計算公式是n n n 1 2 1.現在你的任務是計算出n!的位數有多少 十進位制 輸入 首行輸入n,表示有多少組測試資料 n 10 隨後n行每行輸入一組測試資料 n 0 n 1000000 輸出...