输入N求N的阶乘的10进制表示的长度。例如6! = 720,长度为3。
Input
输入N(1 <= N <= 10^6)
Output
输出N的阶乘的长度
Input示例
6
Output示例
Input
输入N(1 <= N <= 10^6)
Output
输出N的阶乘的长度
Input示例
6
Output示例
3
题意:…………
思路:一开始感觉要用字符串来写,然而并没有写出来…………查了资料才知道用的是斯特林近似,公式为:n!=sqrt((2*PI*n)*(n/e)^n);
下面附上代码:#include<bits/stdc++.h> using namespace std; #define PI 3.1415926 int n; void solve() { int a=(int) ((0.5 * log(2 * PI * n) + n * log(n) - n) / log(10)); printf("%d\n",a+1); //是2不是22.... } int main() { scanf("%d",&n); solve(); return 0; }//斯特林公式 : n! = sqrt((2 * n * PI) * (n / e ) ^ n)