Number Of Factorial Digits =log(n!)+1 . As n is very large for factorial so we can write as below
log(5!)=log(5*4*3*2*1)=log1+log2+log3+log4+log5
#include <bits/stdc++.h>
using namespace std;
long double v[10000000];
int main()
{
long long int i,j,k,s,t,n;
//freopen("1125.txt","r",stdin);
//freopen("1125out.txt","w",stdout);
for(i=1;i<=10000000;i++)
{
v[i]=log10(i)+v[i-1];
}
cin>>t;
for(j=1;j<=t;j++)
{
cin>>n;
s=floor(v[n])+1;
cout<<s<<endl;
}
return 0;
}
0 comments:
Post a Comment