Big Number
Time Limit: 2000/1000 MS(Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 33542 Accepted Submission(s): 15823
Problem Description
In many applications verylarge integers numbers are required. Some of these applications are using keysfor secure transmission of data, encryption, etc. In this problem you are givena number, you have to determine the number of digits in the factorial of thenumber.
Input
Input consists of several linesof integer numbers. The first line contains an integer n, which is the numberof cases to be tested, followed by n lines, one integer 1 ≤ n ≤ 107on each line.
Output
The output contains the numberof digits in the factorial of the integers appearing in the input.
Sample Input
2
10
20
Sample Output
7
19
题目大概要义
Big Number
给你一个数,求出N的阶乘是由多少位组成的。
例如
输入:
2
10
20
输出:
7
19
AC代码
#include<stdio.h>
#include<math.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF&&n)
{
while(n--)
{
int a;
int t=1;
double count=0;
scanf("%d",&a);
for(int i=1;i<=a;i++)
{
count+=log10(i);
}
printf("%d\n",(int)count+1);
}
return 0;
}
}