hdu-1018-Big Number-简单数学

原创 2016年05月30日 19:18:16

Link: http://acm.hdu.edu.cn/showproblem.php?pid=1018

Big Number

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 34113    Accepted Submission(s): 16119

Problem 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

Source

Asia 2002, Dhaka (Bengal)

Recommend

JGShining   |   We have carefully selected several similar problems for you:  1013 1017 1016 1002 1071 

解释

其实我们很容易想到 lg(n!)+1 即为所求结果

Code

#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;
int n;
int main()
{
    int ans;
    int t;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        long double res=log10(1);
        for(int i=2;i<=n;i++)
            res+=log10(i);
        ans=floor(res)+1;
        cout<<ans<<endl;
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

HDU-1018-Big Number( 这段数学推导我给满分! && 然而并不想用斯特林公式! )

Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tot...

HDU 1018-Big Number(数学)

Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tot...

HDU 1018 Big Number (数的阶乘的长度:数学)

Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tot...

hdu1018——Big Number

Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tot...

hdu(1018)Big Number(阶乘位数的计算)

这题要求n的阶乘的位数,如果n较大时,n的阶乘必将是一个 很大的数,题中说1...

HDU 1018 Big Number N!的位数

Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total...

ACM-数论之Big Number——hdu1018

ACM 数论 Big Number hdu1018 斯特林公式

hdu1018Big number(N!的位数-斯特林公式)

Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tot...
  • bokzmm
  • bokzmm
  • 2015年10月14日 22:06
  • 268

hdu 1018 Big Number (斯特林公式)

(先看题目) Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Ot...
  • sizaif
  • sizaif
  • 2017年02月12日 15:00
  • 701

hdu 1018 Big Number

Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tot...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hdu-1018-Big Number-简单数学
举报原因:
原因补充:

(最多只允许输入30个字)