南陽 69 數的長度

2021-06-20 02:17:34 字數 484 閱讀 6423

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 輸出...