首页 > 其他 > 详细

HDU 1018 Big Number

时间:2014-01-18 18:25:16      阅读:377      评论:0      收藏:0      [点我收藏+]

题目大意:求一个数的阶乘的位数。

单词积累:factorial 阶乘

题解:我们知道log10(n!)+1就是n的阶乘的位数,转化一下,log10(n!)+1=log10(1)+log10(2)+log10(3)+……+1;

bubuko.com,布布扣
#include <cstdio>
#include <cmath>
int main()
{
    int n;
    scanf("%d",&n);
    while(n--)
    {
        int m;
        double len=0;
        scanf("%d",&m);
        for(int i=1; i<m+1; i++)
        len+=(log10(i+0.0));
        printf("%d\n",int(len)+1);
    }
    return 0;
}
bubuko.com,布布扣

 

总结:double(log(i)/log(10))-->log10(i+0.0)

 

HDU 1018 Big Number

原文:http://www.cnblogs.com/forever97/p/3524830.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!