标签:9.png img cst number hdu1018 div algorithm fine space
题意:求 N!的位数。
思路: 由 ,可知。
于是两边取对数得到。
最后的结果就是:。
ps:带有注释的是另一种做法。
#include<cmath> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define PI acos(-1.0) #define e exp(1) int main(void) { int t; scanf("%d",&t); while(t--) { double sum = 0.0; int n; scanf("%d",&n); // for(int i = 1; i <= n; i++) // sum = sum + log10(i); // printf("%d\n",(int)sum+1); double s = log10(sqrt(2*PI*n)) + n*log10(n) - n*log10(e); printf("%d\n",(int)s+1); } return 0; }
标签:9.png img cst number hdu1018 div algorithm fine space
原文地址:https://www.cnblogs.com/AC-AC/p/9739368.html