HDU-1018 Big Number

简介: HDU-1018 Big Number

 

题目:

description:

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.

Input:

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.

Output:

The output contains the number of digits in the factorial of the integers appearing in the input.

Sample Input

2

10

20

Sample Output

7

19

解析:

1. 本题题意,求阶乘结果的位数

2. 本题其实就是一个数学公式解决。斯特林公式:lnN!=NlnN-N+0.5ln(2N*pi)

3. 百度百科链接

#include
#include
#define pi 3.1415926
int main()
{
    int ans,i,t,n;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        ans=(n*log(n)-n+0.5*log(2*n*pi))/log(10);
        ans+=1;
        printf("%d\n",ans);
    }
    return 0;
}


相关文章
|
Java
HDOJ 1018 Big Number(大数位数公式)
HDOJ 1018 Big Number(大数位数公式)
113 0
|
前端开发
HDOJ 1212 Big Number
HDOJ 1212 Big Number
110 0
|
机器学习/深度学习
POJ 1423 Big Number
POJ 1423 Big Number
99 0
|
算法
Leetcode 313. Super Ugly Number
题目翻译成中文是『超级丑数』,啥叫丑数?丑数就是素因子只有2,3,5的数,7 14 21不是丑数,因为他们都有7这个素数。 这里的超级丑数只是对丑数的一个扩展,超级丑数的素因子不再仅限于2 3 5,而是由题目给定一个素数数组。与朴素丑数算法相比,只是将素因子变了而已,解法还是和朴素丑数一致的。
99 1
|
5月前
|
存储 SQL 算法
LeetCode 题目 65:有效数字(Valid Number)【python】
LeetCode 题目 65:有效数字(Valid Number)【python】
|
6月前
|
存储 算法
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
45 0
|
存储
Leetcode Single Number II (面试题推荐)
给你一个整数数组,每个元素出现了三次,但只有一个元素出现了一次,让你找出这个数,要求线性的时间复杂度,不使用额外空间。
39 0