Big Number
#include <iostream> #include <cmath> using namespace std; int main() { int T; while(cin>>T) for(int i=0;i<T;i++) { int n; cin>>n; double ans = 0; for(int j=1;j<=n;j++) { ans += log10(j); } int x = static_cast<int>(ans) + 1; cout<<x<<endl; } return 0; }
任何数可表示成10^x
把a1*a2*a3*a4变成 log10(a1)+log10(a2)+....然后算X的整数部分