N的阶乘的长度 V2(斯特林近似) 51Nod - 1130
生活随笔
收集整理的這篇文章主要介紹了
N的阶乘的长度 V2(斯特林近似) 51Nod - 1130
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目:
輸入N求N的階乘的10進(jìn)制表示的長度。例如6! = 720,長度為3。
Input
第1行:一個數(shù)T,表示后面用作輸入測試的數(shù)的數(shù)量。(1 <= T <= 1000) 第2 - T + 1行:每行1個數(shù)N。(1 <= N <= 10^9)
Output
共T行,輸出對應(yīng)的階乘的長度。
Sample Input
3
4
5
6
Sample Output
2
3
3
分析:
求一個數(shù)x的位數(shù),用log10(x)+1即可。
AC代碼:
#include <stdio.h> #include <math.h> #define PI acos(-1.0) #define e 2.718281828459 int main() {__int64 len,n ;int t;scanf("%d",&t);while(t--){scanf ("%I64d",&n);if(n == 1)printf("1\n");else{//斯特林公式n!=sqrt(2*PI*n)*(n/e)^nlen=0.5*log10(2.0*PI*n)+n*log10(n*1.0/e)+1;printf("%I64d\n",len);}}return 0; }總結(jié)
以上是生活随笔為你收集整理的N的阶乘的长度 V2(斯特林近似) 51Nod - 1130的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 递归函数中局部变量和全局变量
- 下一篇: 提现游戏的千层套路提现游戏的千层套路是什