题目描述 Description
在很多软件中需要用到较大的整数。比如一些软件将大数用于数据安全传送的密匙或者密码编译等等。在这个问题中,你要根据给你的整数,算出这个数的阶乘的位数。
输入描述 Input Description
输入文件包含若干行整数。第一行为n,表示有n组数据,接下来是n行,每行一个整数m.
输出描述 Output Description
输出这些数的阶乘的位数。
样例输入 Sample Input
2
10
20
样例输出 Sample Output
7
19
数据范围及提示 Data Size & Hint
1≤m≤10^7.
表示十分羡慕,,,高考完的,
和今上午马上要中考完的孩子们。。。
表示我很想看电视。。。
听说今年流行紫色hhh。
这是个数学题,网上说是个什么斯特林定理好像是。。。
ac代码:
//输出这些数的阶乘的位数。 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; const long double pi=3.1415926535897932384626433832795; const long double e=2.71828182845904523536028747135266; int n,m; int stirling(int x) //斯特林定理 { int s=1; if(x>3) s=log10(2*pi*x)/2+x*log10(x/e)+1; return s; } int main() { scanf("%d",&n); for(int i=1;i<=n;++i) { scanf("%d",&m); printf("%d ",stirling(m)); } return 0; }
如果你不开心,那我就把右边这个zz大炸分享给你吧,
你看,他这么好看,跟个大傻子一样看着你,你还伤心吗?
真的!这照片盯上他五秒钟就想笑了。
一切都会过去的。
时间时间会给你答案2333