博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA1185 Big Number
阅读量:7065 次
发布时间:2019-06-28

本文共 618 字,大约阅读时间需要 2 分钟。

题目大意:求十进制下x!的位数

这题其实就是要求\(\lg\)函数值的前缀和啊

对于一个数x,若\(\lg x=y\),则其位数为\(\lfloor y+1 \rfloor\)

然后对于对数,我们有\(\lg \prod_{i=1}^x i= \sum_{i=1}^x \lg i\)

预处理前缀和之后在线\(\Theta(1)\)回答询问即可

#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"#include"cmath"using namespace std;const int MAXN=1e7+5;const double eps=1e-8;double lg[MAXN];int tp[MAXN];int T;int main(){    for(int i=1;i<=1e7;++i) lg[i]=lg[i-1]+log10(i);    for(int i=1;i<=1e7;++i) tp[i]=lg[i]+1;    scanf("%d",&T);    while(T--){        int x;scanf("%d",&x);        printf("%d\n",tp[x]);    }return 0;}

转载于:https://www.cnblogs.com/AH2002/p/10053116.html

你可能感兴趣的文章
JAVA CAS原理深度分析
查看>>
O2O?啥是“呕吐呕”?
查看>>
百度的疯狂 UC的隐忍
查看>>
我的友情链接
查看>>
AGG第三十五课 gsv_text 渲染ASCII字符
查看>>
查找组成一个偶数最接近的两个素数
查看>>
不怕狼一样的敌人,就怕狗一样的朋友
查看>>
bash基础特性
查看>>
【连载】物联网全栈教程-从云端到设备(十二)---最简单的单片机上云方法!...
查看>>
如何自学编程?学习方法在这里!
查看>>
springboot web应用 jar 启动 ant脚本
查看>>
SolrCould 集群搭建
查看>>
IDEA Git版本回滚提交方式
查看>>
tomcat中同时启动两个项目出现内存不足的错误提示解决办法
查看>>
ssm框架开发过程中遇到的一错误以及解决问题提示
查看>>
树的遍历
查看>>
微信公众号支付PHP-SDK的一个BUG
查看>>
网络 基于TCP协议socket编程
查看>>
现代软件工程讲义 目录
查看>>
Akka2使用探索6(Futures)——实现并发和异步
查看>>