HDOJ 1018 Big Number
2011-10-09 17:09
288 查看
此题需要一些小小的数学知识。lg(N!)=lg(1)+lg(2)+…+lg(N)。而一个数的位长也刚好是其lg值+1。所以有以下代码:
同时此题还可以使用斯特林公式进行计算。公式为:
,然后取lg值输出即可。
#include<stdio.h> #include<math.h> int main() { int caseNum,end; double result; scanf("%d",&caseNum); while(caseNum--) { scanf("%d",&end); result=1; for(int i=2;i<=end;i++) result+=log10(i*1.0); printf("%d\n",(int)result); } return 0; }
同时此题还可以使用斯特林公式进行计算。公式为:
,然后取lg值输出即可。
相关文章推荐
- HDOJ 1018 Big Number
- hdoj 1018 big number
- hdoj 1018 Big Number
- hdoj 1018 Big Number
- HDOJ1018 ( Big Number ) 【斯特林公式---处理阶乘及阶乘位数的问题】
- HDOJ 1018 Big Number
- [ACM] hdoj1018 Big Number 解题报告
- hdoj1018 Big Number
- ACM--大数阶乘位数--HDOJ 1018--Big Number--水
- hdoj 1018 Big Number(数学)
- hdoj1018_Big Number(大数阶乘位数)
- HDoj-1018-Big Number
- hdoj 1018 Big Number(斯特林公式)
- HDOJ 1018 Big Number
- HDOJ 1018 Big Number(Stirling公式)
- HDOJ 1018 Big Number (大数位数)
- HDOJ 1018 Big Number(大数)
- hdoj 1018 Big Number
- hdoj 1018 Big Number (n!的数学公式 数学)
- HDOJ HDU 1018 Big Number