HDU 1018 Big Number(阶乘位数计算)
来源:互联网 发布:新时模型淘宝 编辑:程序博客网 时间:2024/04/25 20:08
整数n的位数的计算方法为:log10(n)+1
故n!的位数为log10(n!)+1
n!的位数就是求log10((2*PI*n)^1/2*(n/e)^n)+1
故n!的位数为log10(n!)+1
如果仅仅是求阶乘的位数,用斯特林(Stirling)公式求解
斯特林(Stirling)公式:
n!的位数就是求log10((2*PI*n)^1/2*(n/e)^n)+1
即 1/2*log10(2*PI*n)+n*log10(n/e)+1
这题解决后可以尝试1042 n!
#include<stdio.h>#include<math.h>#define PI 3.141592654#define E 2.71828182846int l(int n){ int s=1; if(n>3) s=log10(2*PI*n)/2+n*log10(n/E)+1; return s;}int main(void){ int T, m; scanf("%d", &T); while (T--) { scanf("%d", &m); printf("%d\n", l(m)); } return 0;}
阅读全文
0 0
- HDU 1018 Big Number(阶乘位数计算)
- hdu(1018)Big Number(阶乘位数的计算)
- HDU--1018--Big number!(计算阶乘结果的位数)
- hdu-1018Big Number(阶乘求位数)
- hdu 1018 -Big Number(求n的阶乘的位数)
- hdu 1018 Big Number(公式求阶乘位数)
- HDU 1018 Big Number 计算N!的位数
- POJ 1423 Big Number 大数阶乘的位数计算
- 阶乘位数—Big Number
- hdu 1018 Big Number (求一个数的阶乘的位数,公式!!!)
- HDU 1018 Big Number N!的位数
- 求位数 hdu 1018 Big Number
- 杭电1018 Big Number (求阶乘结果的位数)
- hdoj 1018 Big number 求n阶乘的位数
- ACM--大数阶乘位数--HDOJ 1018--Big Number--水
- ACMSTEP 2.3.3 Big Number //阶乘位数
- Big Number(求任意阶乘的位数)
- HDU1018-Big Number(阶乘的位数)
- JavaWeb——springMVC请求数据绑定分类解析(深度好文)
- 将代码上传git
- Python 语法速览与实战清单
- ARM汇编编程基础之一 —— 寄存器
- Celery-4.1 用户指南: Extensions and Bootsteps
- HDU 1018 Big Number(阶乘位数计算)
- 年底去面试,借你“法器”戳破不靠谱公司 !
- 玩可视化大数据分析软件要掌握的6个核心技术(下)
- C++通用模板类(学习版)
- 使用 ESLint 检查 TypeScript 代码
- 解决存储过程执行快,但程序调用则执行慢的问题
- C#判断操作系统类型
- VS+QT和qtcreator工程的互相转换
- ARM汇编编程基础之二 —— 流水线对PC值的影响