| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:其实这道题可以用这个公式In Reply To:其实这道题可以用这个公式 Posted by:slp at 2010-09-14 22:34:35 > 其实这道题可以用这个公式
> tmp = sum( log10(i) ) 0<i<=n
> len(n!)=(int)(tmp)+1
> 打表即可过了... 500ms
> 公式的证明我还不会,求证明:
为什么我的超时?
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n,i,t;
double d;
cin>>t;
for(int a=0;a<t;a++)
{
cin>>n;
d=0;
for(i=1;i<=n;i++)
d+=log10((double)i);
cout<<(int)d+1<<endl;
}
//system("pause");
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator