POJ 1423 大數階乘位數
題意讓求一個數m階乘的位數,可以用sum(log10(1~n))+1打表,也可以用公式
#include <iostream> #include <math.h> using namespace std; const double e= 2.718281828459 ; const double pi= 3.1415926535898 ; int main() { long long n,tt; cin>>tt; while (tt>0) { tt--; cin>>n; long long ans = (long long)((double)log10(sqrt(2 * pi * n)) + n * log10(n / e))+1; cout<<ans<<endl; } return 0; }
最後更新:2017-04-04 07:03:48