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