思路:设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; } }