数的长度

时间限制:3000 ms  |  内存限制:65535 KB
难度:1

描述

N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出N!的位数有多少(十进制)?

输入
首行输入n,表示有多少组测试数据(n<10) 随后n行每行输入一组测试数据 N( 0 < N < 1000000 )
输出
对于每个数N,输出N!的(十进制)位数。
样例输入
3
1
3
32000
样例输出
1
1
130271
来源
ACM教程
上传者
rooot

此题的最佳解法为:斯特林解法何为斯特林,在下也不好说,是1730年前的一位数学家提出来的构想:

如何快速求出n!的位数呢? 数学上的公式为:

strlen(n!)=log10(√2*Π*n)+n*log10(n/e);

所以只需要将其转化为计算机上的公式即可:

其中Π=2*acos(0.0)或者Π=4*atan(1.0);

e=exp(1);

所以用计算机敲出来为:    length=log10(sqrt(4*acos(0.0)*n))+n*log10(n/exp(1));

故代码如下:

#include<cstdio>
#include<cmath>
#include<iostream>
using namespace std;
int main()
{int t,n;cin>>t;while(t--){scanf("%d",&n);int num=log10(sqrt(4.0*acos(0.0)*n))+n*log10(1.0*n/exp(1));printf("%d\n",num+1);}return 0;
}

View Code

转载于:https://www.cnblogs.com/gongxijun/p/3210384.html

NYOJ——————数的长度(斯特林公式的应用)相关推荐

  1. 1846: 数的长度

    1846: 数的长度 时间限制: 3 Sec  内存限制: 64 MB 提交: 40  解决: 33 您该题的状态:已完成 [提交][状态][讨论版] 题目描述 N!阶乘是一个非常大的数,大家都知道计 ...

  2. IOS根据文字计算laber的行数与长度

    计算行数 CGFloat labelHeight = [self.content sizeThatFits:CGSizeMake(self.content.frame.size.width, MAXF ...

  3. Vue中input限制数字不能大于某个动态的数或者长度

    例如要编辑已支付不能大于预估成本 <template slot-scope="{row}"><template v-if="row.rowEdit&qu ...

  4. LeetCode 2217. 找到指定长度的回文数

    文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述   给你一个整数数组 qu ...

  5. MySQL中VARCHAR最大长度是多少?CHAR和VARCHAR有哪些区别?

    以我多年经验来看,VARCHAR的最大长度.字符串类型选择,用MySQL的人中十之七八是不清楚的. 本文不止介绍了原理,还提供了案例手把手教你自己分析,彻底解决你的疑惑. 假设有个VARCHAR(64 ...

  6. Catalan数推导及应用

    Catalan数的定义: 设表示用下面的方法把凸多边形区域分成三角形区域的方法数:在有n+1条边的凸多边形区域内通过插入在其中不相交的对角线而把它分成三角形区域.定义.则满足递推关系     这个递推 ...

  7. ARM立即数讲解--LDR和MOV的区别 .

    Mov 是把立即数赋给一个寄存器,但对立即数的范围有要求.只能是由8bit连续有效位通过偶数次移位能得到的数.如果立即数超出这个范围,就没办法用一条MOV指令给寄存器赋值. LDR除了普通的读数之外, ...

  8. MQTT 固定报头 中 剩余长度字段的计算

    剩余长度 - 简介 位置:固定报头中,从第2个字节开始. 剩余长度等于可变报头的长度(10字节)加上有效载荷的长度. 剩余长度(Remaining Length)表示当前报文剩余部分的字节数,包括可变 ...

  9. 第H题 输入N求N的阶乘的10进制表示的长度

    输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3. Input 输入N(1 <= N <= 10^6) Output 输出N的阶乘的长度 Sample Input 6 ...

  10. 【CCCC】L3-011 直捣黄龙 (30分),Dijkstra维护点权,节点数,路径条数等+路径打印

    problem L3-011 直捣黄龙 (30分) 本题是一部战争大片 -- 你需要从己方大本营出发,一路攻城略地杀到敌方大本营.首先时间就是生命,所以你必须选择合适的路径,以最快的速度占领敌方大本营 ...

最新文章

  1. Python 操作 MongoDB 数据库!
  2. [摘录]第一部分 掌舵领航(3)
  3. 数组不能将数值传给int_[day day go]数组
  4. NumPy学习笔记之random.randn()函数
  5. EPLAN电气设计实例入门教程pdf
  6. Complete Internet Repair(电脑网络修复工具)官方中文版V6.0.3.5003 | 富有成效的电脑网络修复大师 | 电脑网络修复怎么修复?
  7. 第十六周助教工作总结——NWNU李泓毅
  8. 谢烟客---------Linux之用户
  9. 1899 用迭代法求平方根
  10. SimpleMemory博客园主题定制美化 配置
  11. ftp上传工具 免安装,ftp上传工具 免安装绿色破解版好用推荐
  12. RADARE2+FRIDA=R2FRIDA Best Dynamic Debugging Tool
  13. Java毕业设计-网上书城管理系统
  14. 机器学习入门视频总结
  15. 更新查询能用计算机,小黑盒怎么更新电脑配置 查成绩方法
  16. python爬虫之b站视频下载(python学习笔记)
  17. 2020 mse 清华_2020年的北大清华在世界上属于什么水平?
  18. 计算机应用技术课程本科,1101001《计算机应用技术I》课程教学大纲(共本科2009级用).doc...
  19. nodeJS 网页支付
  20. SQL的CTE递归查询

热门文章

  1. 什么是广告?为什么我们讨厌广告?
  2. Log4j 2.x使用遇到的问题
  3. 删除曾经使用过的USB设备记录
  4. 传B站35岁女副总裁嫁给24岁男主播!女方资产80亿,任职45家企业
  5. 我决定把IDEA神器这些你可能不知道的但是又实用的小技巧分享出来,超赞!
  6. 别用Date了,Java8新特性之日期处理,现在学会也不迟!
  7. 你写得API接口代码真是一坨屎,难道不能对返回格式统一处理一下吗?
  8. Python开发者必知的13个Python GUI库
  9. 女程序员上班第一件事:调整IDE颜色以适配今天的衣着妆容
  10. 今天给一份 2022 互联网就业指南。