hdu 1018 Big Number
2013-01-03 09:08
459 查看
Big Number
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17743 Accepted Submission(s): 7956
[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 ! = (sqrt(2*PI*n)) * (n/e)^n ;
直接求 lg(N !) 就 OK了
代码如下 :
#include <stdio.h> #include <stdlib.h> #include <math.h> #define e 2.718281828459 #define PI 3.1415926 int main() { int n,key; scanf("%d",&n); while(n--) { scanf("%d",&key); double x=2*PI*key; double y=key/e; int z; z=(int)( ( ( log(x)/log(10) ) /2 )+(key*(log(y)/log(10)))); printf("%d\n",z+1); } return 0; }
相关文章推荐
- hdu 1018 Big Number(对数的性质)
- HDU--1018--Big number!(计算阶乘结果的位数)
- HDU_1018 big number
- hdu 1018 Big Number
- hdu 1018题 Big Number
- HDU 1018 Big Number数论(解题报告)
- hdu-oj 1018 Big Number
- hdu 1018 big number
- HDU 1018 Big Number 公式= =
- hdu 1018 Big Number
- HDU 1018 Big Number
- 【HDU 1018】Big Number —— n!的位数
- 【HDU】 1018 Big Number
- HDU 1018 Big Number
- hdu1018 Big Number(斯特林公式)
- HDU 1018 Big Number (简单数学)
- HDU 1018 Big Number
- HDU-1018 Big Number 斯特林公式
- HDU 1018 Big Number
- hdu 1018 Big Number (求一个数的阶乘的位数,公式!!!)