hdu1018 Big Number

思路:設x是a的位數,則x=log10(a) + 1;

            於是,結果就是log10(t!)+1=log10(t) + log10(t-1) + ... + log10(2) + 1

#include <iostream>
#include <cmath>
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<<endl;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章