zoukankan      html  css  js  c++  java
  • hdu 1018 Big Number (数学题)

    Problem Description

    Inmany applications very large integers numbers are required. Some of theseapplications are using keys for secure transmission of data, encryption, etc.In this problem you are given a number, you have to determine the number ofdigits in the factorial of the number.

     

    Input

    Inputconsists of several lines of integer numbers. The first line contains aninteger n, which is the number of cases to be tested, followed by n lines, oneinteger 1 ≤ n ≤ 107 on each line.

     

    Output

    Theoutput contains the number of digits in the factorial of the integers appearingin the input.

     

    SampleInput

    2

    10

    20

     

    Sample Output

    7

    19

    /**************************************************

     //  不能直接算N!,数据规模  1<N<10^7  太大,超出  2^31  的范围,所以取对数函数
    //  N = M*10^n   n = log10(N)  log10()  函数在头文件cmath中

    984 MS,差点超时


     ************************************************/


    #include <iostream>
    #include<cmath>
    using namespace std;
    int main()
    {
        double sum;
        int T,n;
        cin>>T;
        while(T--)
        {
            cin>>n;
            sum = 1;
            for(int i = 1;i<=n;i++)
                sum+=log10(i);
            cout<<(int)sum<<endl;
        }
        return 0;
    }


  • 相关阅读:
    突破ASLR之理论篇
    安装cocoaPods
    iOS 文字渐变
    iOS_科大讯飞快速实现语音搜索功能Demo
    Button宽度自定义
    全局手势按钮(随意拖动,点击事件)
    文字广告轮播这个就够用了
    一些有趣的三方开源库
    SVN的简单使用和积累
    如何在手机上面安装iPA应用包
  • 原文地址:https://www.cnblogs.com/gray1566/p/3704319.html
Copyright © 2011-2022 走看看