hdu 1018 Big Number(n!求位数)
http://acm.hdu.edu.cn/showproblem.php?pid=1018
一天了,看不下数,坐不下题。。。唉。。终于a了一道了。。。求n!阶乘的数的位数。才开始我直接按大数阶乘处理。结果肯定超时。最后看了一下解题报告。原来这么简单,还是做得题少,没接触过。。
第一种:log10(n!)=log10(1)+log10(2)+.....+log10(n);
循环求和即可,注意最后要+1,因为log10(1)=0;所以要加上这个误差;
![](/assets/blank.gif)
![](/assets/blank.gif)
#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);
![](/assets/blank.gif)
![](/assets/blank.gif)
#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!求位数)相关推荐
- HDU 1018 Big Number
有个数学公式计算数的阶乘位数 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #i ...
- 杭电oj HDOJ 1018 Big Number(斯特林公式求大数阶乘的位数)
杭电oj HDOJ 1018 Big Number 题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1018 Problem Description In ...
- HDU 3826 Squarefree number:题目解答源码
2019独角兽企业重金招聘Python工程师标准>>> HDU 3826 Squarefree number:题目解答源码 In mathematics,a squarefree n ...
- c语言 正整数 几位 逆序,c语言经典例题:正整数求位数and求顺、逆序位数
经典例题:正整数求位数and求顺.逆序位数 题目要求: 给出一个int整形正整数,要求: 1.求出它是几位数字 2.按照逆序分别输出每位数字,例如123输出为321 3.按正序输出每位数字 分析: 一 ...
- 逆序输出并求位数 如12345 输出为 54321
逆序输出并求位数 如12345 输出为 54321 逆序输出就是考察的 % (取余)和 /(求商的用法) #include "stdio.h" int main(){printf( ...
- HDU 3709 Balanced Number (数位DP)
题意 求出[x, y] 范围内的平衡数,平衡数定义为:以数中某个位为轴心,两边的数的偏移量为矩,数位权重,使得整个数平衡. 思路 外层枚举平衡点,然后数位DP即可.设计状态: dp[pos][o][l ...
- HDU 5972 Regular Number
Regular Number http://acm.hdu.edu.cn/showproblem.php?pid=5972 题意: 给定一个字符串,求多少子串满足,子串的第i位,只能是给定的数(小于等 ...
- HDU 2639(01背包求第K大值)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2639 Bone Collector II Time Limit: 5000/2000 MS (Jav ...
- HDU 5898 odd-even number
题目:odd-even number 链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5898 题意:给一个条件,问l 到r 之间有多少满足条件的 ...
最新文章
- latex伪代码添加注释_Latex中文期刊投稿使用:以《系统工程学报》为例
- 洛谷——P1177 【模板】快速排序
- linux查看python环境变量_Linux中添加PYTHONPATH配置anaconda环境变量方法
- java模拟器百度_Java模拟实现百度文档在线浏览
- BugkuCTF-Crypto题小山丘的秘密
- [Linux网络编程]以太网封装格式及相关结构体
- JS中的语音识别——Speech Recognition API
- GitHub又受攻击了
- android - studio版本控制文件颜色代表意思
- DSP的cmd文件详解
- 一文通透优化算法:从随机梯度、随机梯度下降法到牛顿法、共轭梯度
- 个人简历模板 个人简历表下载 个人简历模板下载
- 一、肿瘤全基因组分析概况(Pan-cancer analysis of whole genomes,PCAWG)
- Predicting Ship T rajectory Based on Neural Networks UsingAIS Data
- jest 客户端 实现 Sliced+Scroll并行查询
- Mac平台上有哪些好用的常用软件?
- 校验码 汉明码 CRC码
- Ubuntu重启后如何配置网络
- 云计算大数据学习中心作业8
- 项目管理 - PM、 SRS、SOW简介及范例
热门文章
- Win7中的clr_optimization服务
- 使用Filter,Listener 时无法注入Bean的解决方法
- L2-001. 紧急救援-PAT团体程序设计天梯赛GPLT(Dijkstra算法)
- linux 系统频率,Linux下CPU的手动频率设定
- Docker命令行探秘
- perl index和rindex的用法
- 吴甘沙创业照见自动驾驶十年变迁,产业爆发在下一个春天里 | 自动驾驶这十年...
- 在Ubuntu上安装Drone持续集成环境
- 第八届蓝桥杯java b组第十题
- 分布式系统事务一致性解决方案(转)