hdu1018 Big Number

思路:设x是a的位数,则x=log10(a) + 1;

            于是,结果就是log10(t!)+1=log10(t) + log10(t-1) + ... + log10(2) + 1

#include 
#include 
using namespace std;
int main()
{
    int n;
    cin>>n;
    while(n--)
    {
        int t;
        cin>>t;
        double sum=0;
        for(int i=1;i<=t;i++)
        {
            sum+=log10(1.0*i);
        }
        sum+=1;
        cout<<(int)sum<

 

你可能感兴趣的:(算法题解)