斯特林公式求解n!位数

OJ题目:http://www.51nod.com/Challenge/Problem.html#!#problemId=1130

 斯特林公式n!=sqrt(2*PI*n)*(n/e)^n

#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<vector>
using namespace std;

int main()
{
	int N;
	cin>>N;
	while(N--)
	{
		long long n;
		cin>>n;
		double len=0;
		long long ans=0;
		len=0.5*log10(2*3.1415927*n)+n*log10(n/2.718281828459); 
		ans=(long long)len+1;
		cout<<ans<<endl;

	}
	return 0;
} 
发布了44 篇原创文章 · 获赞 72 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/cj151525/article/details/89885019