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

一天了,看不下数,坐不下题。。。唉。。终于a了一道了。。。求n!阶乘的数的位数。才开始我直接按大数阶乘处理。结果肯定超时。最后看了一下解题报告。原来这么简单,还是做得题少,没接触过。。

第一种:log10(n!)=log10(1)+log10(2)+.....+log10(n);

循环求和即可,注意最后要+1,因为log10(1)=0;所以要加上这个误差;

View Code

#include<iostream>#include<cmath>#include<cstdio>using namespace std;int main(){

int n,i,t;double sum;    scanf("%d",&t);while(t--){        sum=1;      scanf("%d",&n);for(i=1;i<=n;i++){        sum+=log10((double)i);      }      printf("%d\n",(int)sum);    }return 0;}

第二中是 Stirling数,还没接触,只记住了公式:sum=(1/2)*log10(2.0*p*ni)+1.0*n*log10(n/e);

View Code

#include<iostream>#include<cmath>#include<cstdio>#define e 2.7182818284590452354#define pi acos(-1.0)using namespace std;int main(){int t,n;double sum;    scanf("%d",&t);while(t--){      scanf("%d",&n);      sum=1.0/2.0*log10(2.0*pi*n)+1.0*n*log10((1.0*n)/e);      printf("%d\n",(int)sum+1);    }

return 0;}

转载于:https://www.cnblogs.com/E-star/archive/2012/01/02/2310304.html

hdu 1018 Big Number(n!求位数)相关推荐

  1. HDU 1018 Big Number

    有个数学公式计算数的阶乘位数 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #i ...

  2. 杭电oj HDOJ 1018 Big Number(斯特林公式求大数阶乘的位数)

    杭电oj HDOJ 1018 Big Number 题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1018 Problem Description In ...

  3. HDU 3826 Squarefree number:题目解答源码

    2019独角兽企业重金招聘Python工程师标准>>> HDU 3826 Squarefree number:题目解答源码 In mathematics,a squarefree n ...

  4. c语言 正整数 几位 逆序,c语言经典例题:正整数求位数and求顺、逆序位数

    经典例题:正整数求位数and求顺.逆序位数 题目要求: 给出一个int整形正整数,要求: 1.求出它是几位数字 2.按照逆序分别输出每位数字,例如123输出为321 3.按正序输出每位数字 分析: 一 ...

  5. 逆序输出并求位数 如12345 输出为 54321

    逆序输出并求位数 如12345 输出为 54321 逆序输出就是考察的 % (取余)和 /(求商的用法) #include "stdio.h" int main(){printf( ...

  6. HDU 3709 Balanced Number (数位DP)

    题意 求出[x, y] 范围内的平衡数,平衡数定义为:以数中某个位为轴心,两边的数的偏移量为矩,数位权重,使得整个数平衡. 思路 外层枚举平衡点,然后数位DP即可.设计状态: dp[pos][o][l ...

  7. HDU 5972 Regular Number

    Regular Number http://acm.hdu.edu.cn/showproblem.php?pid=5972 题意: 给定一个字符串,求多少子串满足,子串的第i位,只能是给定的数(小于等 ...

  8. HDU 2639(01背包求第K大值)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2639 Bone Collector II Time Limit: 5000/2000 MS (Jav ...

  9. HDU 5898 odd-even number

    题目:odd-even number 链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5898 题意:给一个条件,问l 到r 之间有多少满足条件的 ...

最新文章

  1. latex伪代码添加注释_Latex中文期刊投稿使用:以《系统工程学报》为例
  2. 洛谷——P1177 【模板】快速排序
  3. linux查看python环境变量_Linux中添加PYTHONPATH配置anaconda环境变量方法
  4. java模拟器百度_Java模拟实现百度文档在线浏览
  5. BugkuCTF-Crypto题小山丘的秘密
  6. [Linux网络编程]以太网封装格式及相关结构体
  7. JS中的语音识别——Speech Recognition API
  8. GitHub又受攻击了
  9. android - studio版本控制文件颜色代表意思
  10. DSP的cmd文件详解
  11. 一文通透优化算法:从随机梯度、随机梯度下降法到牛顿法、共轭梯度
  12. 个人简历模板 个人简历表下载 个人简历模板下载
  13. 一、肿瘤全基因组分析概况(Pan-cancer analysis of whole genomes,PCAWG)
  14. Predicting Ship T rajectory Based on Neural Networks UsingAIS Data
  15. jest 客户端 实现 Sliced+Scroll并行查询
  16. Mac平台上有哪些好用的常用软件?
  17. 校验码 汉明码 CRC码
  18. Ubuntu重启后如何配置网络
  19. 云计算大数据学习中心作业8
  20. 项目管理 - PM、 SRS、SOW简介及范例

热门文章

  1. Win7中的clr_optimization服务
  2. 使用Filter,Listener 时无法注入Bean的解决方法
  3. L2-001. 紧急救援-PAT团体程序设计天梯赛GPLT(Dijkstra算法)
  4. linux 系统频率,Linux下CPU的手动频率设定
  5. Docker命令行探秘
  6. perl index和rindex的用法
  7. 吴甘沙创业照见自动驾驶十年变迁,产业爆发在下一个春天里 | 自动驾驶这十年...
  8. 在Ubuntu上安装Drone持续集成环境
  9. 第八届蓝桥杯java b组第十题
  10. 分布式系统事务一致性解决方案(转)