hdu1018 Big Number (阶乘的位数)
2012-05-07 15:01
369 查看
Big Number
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 14952 Accepted Submission(s): 6631
[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
题意:给你一个 n ,计算 n! 有多少位数
分析:
123456=1.23456*10^5;
log10(123456)=5.09151;
log10(1.23456*10^5)=log10(1.23456)+log10(10^5)=0.09151+5;
故int(log10(n))+1 就是n的位数
View Code
#include<iostream> #include<cmath> using namespace std; int main() { int n,test,i,ans; double t; cin>>test; while(test--) { cin>>n; t=0; for(i=2;i<=n;i++) t+=log10(i*1.0); ans=int(t)+1; cout<<ans<<endl; } return 0; }
相关文章推荐
- hdoj1018 大数阶乘位数
- 大数阶乘的位数和精确值计算
- 大数阶乘的位数
- 大数的阶乘位数
- 阶乘的位数
- 神秘的三位数 有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身。即:abc = a! + b! + c!
- 51Nod-1435-位数阶乘
- Snow祝你元宵节快乐!(斯特林公式求阶乘的位数)
- hd 1018 Big Number 正整数a的位数(int)log10(a)+1;n的阶乘的位数
- 求这样一个三位数,该三位数等于其每位数字的阶乘之和
- 大数阶乘求位数
- UVA 10061 How many zero's and how many digits ? (m进制,阶乘位数,阶乘后缀0)
- 求某数的阶乘的位数
- 51nod 1435:位数阶乘
- 刷过一题之阶乘的K位数
- 大数阶乘的位数(C++)
- Big Number(求任意阶乘的位数)
- ACM--大数阶乘位数--HDOJ 1018--Big Number--水
- hdu 1018 阶乘位数
- 求阶乘的位数