• HDU 1018 Big Number


    Big Number

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


    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
     
    Recommend
    JGShining   |   We have carefully selected several similar problems for you:  1013 1017 1016 1071 1019
     
    分析:  对于一个数n  它的位数等于 log10(n)+1;
                那么n! 的位数为 log10(n*(n-1).....*1) +1
              公式展开  log10(n)+log10(n-1)+....log10(1)+1;
    代码如下:
    #include <cstdio>
    #include <iostream>
    #include <cstring>
    #include <map>
    #include <algorithm>
    #include <cmath>
    using namespace std;
    typedef long long ll;
    const int MAXN=40000;
    int ans[MAXN];
    int flag;
    int main()
    {
        double sum;
        int t,n;
        scanf("%d",&t);
        while(t--)
        {
            sum=1;
            scanf("%d",&n);
            for(int i=1;i<=n;i++)
            {
              sum+=log10(i);
            }
            printf("%d
    ",(int)sum);
        }
        return 0;
    }
  • 相关阅读:
    进程间通信小结
    菜鸡和菜猫进行了一场Py交易
    菜鸡开始接触一些基本的算法逆向了
    菜鸡学逆向学得头皮发麻,终于它拿到了一段源代码
    静态分析-Windows找密码
    逆向-完成地址随机化关闭
    QSortFilterProxyModel 的过滤 排序
    linux命令2
    linux 命令1
    error c2059 c3905 c2148 c2238
  • 原文地址:https://www.cnblogs.com/a249189046/p/7487769.html
Copyright © 2020-2023  润新知