ACM--steps--2.3.3--stirling公式求n!
2015-02-05 22:06
127 查看
Big Number
Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 955 Accepted Submission(s): 643[align=left]Problem Description[/align]
In many applications very large integers numbers are required. Some of these applications are using keys for secure transmission of data, encryption, etc. In this problem you are given a number, you have to determine the number of
digits in the factorial of the number.
[align=left]Input[/align]
Input consists of several lines of integer numbers. The first line contains an integer n, which is the number of cases to be tested, followed by n lines, one integer 1 ≤ n ≤ 107 on each line.
[align=left]Output[/align]
The output contains the number of digits in the factorial of the integers appearing in the input.
[align=left]Sample Input[/align]
2 10 20
[align=left]Sample Output[/align]
7 19
[align=left]Source[/align]
Asia 2002, Dhaka (Bengal)
[align=left]Recommend[/align]
JGShining
第一个代码,就是求n!算出阶乘的位数,要求出位数,取完对数后最后要+1;
第二个代码,运用stirling公式求解n!;
#include<iostream> #include<cmath> using namespace std; int main() { int n,a; cin>>n; while(n--) { cin>>a; double sum=0; for(int i=1;i<=a;i++) { sum+=log10(i); } cout<<(int)(sum)+1<<endl; } return 0; }
#include<iostream> #include<cmath> using namespace std; int main() { double PI=acos(double(-1));//获取PI的值,对-1取反余弦函数。 double e=exp(double(1));//获取自然底数e的值 //运用stirling公式,求取n!的值。 int T,a; cin>>T; double ans; while(T--) { ans=0; cin>>a; ans+=0.5*log10(2.0*a*PI)+a*(log10((double)a)-log10(e)); cout<<(int)ans+1<<endl; } return 0; }
相关文章推荐
- 【SDUT_ACM周赛3】Problem A——Steps
- hdu ACM Steps 1.3.5 排序
- hdu acmsteps 2.2.1 Fibonacci
- ACM--steps--2.2.3--汉诺塔VII
- ACM--steps--4.1.7--Dome of Circus(三分)
- ACM--steps--4.2.4--Knight Moves
- ACM--steps--dyx--1.3.6--第二小整数
- hdu acm steps 2.1
- HDU ACMSteps 1.3.2:: 今年暑假不AC(动态规划)
- HDU ACM Steps 攻略
- 第四届 山东省ACM The number of steps (概率dp 待整理)
- HDOJ_ACM_steps——第二小整数
- hd acm steps 1.2.8
- 山东省第四届ACM大学生程序设计竞赛 The number of steps 概率dp
- ACM--steps--2.1.4--素数筛选
- ACM--steps--2.2.4--求最大公约数
- ACM--steps--3.1.5--
- ACM--steps--dp--3.2.2--Super Jumping! Jumping! Jumping!
- ACM--steps--3.3.2--Piggy-Bank(完全背包)
- ACM--steps--3.3.5--Robberies(01背包)