关于如何确定阶乘结果的位数呢,就是位数x可用由 10^(x-1)≤n!≤10^x,再取对数获得。
最开始做的时候想法很简单,就是用个循环,因为log(n!)=log1+log2+。。。。。。+logn,所以加起来就好了。结果一提交,就是 time limit exceeded。于是就上网上去查找计算阶乘的其他方法,就找到了斯特灵公式。之后就是在纸上演算怎么样才能把这个式子表示出来了。
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
//N表示用户想输入几次,i为计数器
int N,i;
cin>>N;
double in;
double out;
for(i=0;i<N;i++)
{
cin>>in;
//斯特灵公式不适应1的情况,因此单独考虑
if(in==1)
cout<<1<<endl;
else
{
//这就是斯特灵公式,“n!≈sqrt(2πn)(n/e)^n”
//而求阶乘结果的位数x可用由 10^(x-1)≤n!≤10^x,再取对数获得。
//因此利用log的性质写出了下面的式子
//acos为反余弦,2*acos(0.0)为π
//exp(1.0)是为了得到e,这个式子就是e^1
out=(log10(sqrt(4*acos(0.0)*in))+in*(log10(in)-log10(exp(1.0))))+1;
cout<<(int)out<<endl;
}
}
return 0;
}
本文出自 “wing学习之路” 博客,请务必保留此出处http://wingstudy.blog.51cto.com/1655658/323851
分享到:
相关推荐
pku acm 1423 Big Number代码 求n!的位数
1、数据来源:北京大学数字金融中心 2、时间跨度:2011-2020年 3、区域范围:全国 4、指标说明: 其中县级数据从2014年开始,北大数字普惠金融研究院在2014年的时候只计算了1754个县的数据,所以拿到资料的小伙伴...
北大图书馆中文核心期刊要目总览(2021年版)是北京大学图书馆定期发布的中文期刊评价成果,旨在为读者提供中文学术期刊的质量评价和选择指导。该总览将中文期刊按照学科门类进行分类,并列出各个学科的代表性期刊,...
"2019年北京大学寒假学堂测试数学试卷及答案" 本资源是北京大学寒假学堂测试的数学试卷及答案,面向高中学生,于2019年发布。该资源提供了数学试卷的完整内容,以及详细的答案解释,可以帮助高中学生更好地备战数学...
PCB板缺陷检测数据集(北京大学693数据增强,6930)
北京大学数字普惠金融指数
### 北京大学OJ题目详细分类解析 #### 一、概述 本篇文章将基于北京大学在线评测系统(Online Judge,简称OJ)的部分题目进行详细的知识点归纳与解析。北京大学OJ是计算机科学领域内非常知名的平台之一,尤其是...
北京大学-概率论与数理统计练习题(公共)答案大合集.pdf
NoteExpress2.7北京大学是一款专为学术研究设计的文献管理软件,由北京大学推荐使用,它在科研人员和学生群体中广受欢迎。这款软件的核心功能在于帮助用户高效地收集、整理、引用和管理大量的学术文献资料,极大地...
北京大学的PPT,主要提供给大家一种制作PPT的模板,学习一下人家是怎么使用的PPT软件。
再者,"北大软微"和"北大信科"这两个文件名可能是关于北京大学软件与微电子学院(Soft and Microelectronics School, Peking University)和信息科学技术学院(School of Information Sciences and Technology, ...
【北京大学ACM题库、北京大学ACM源码、浙江大学ACM源码】 这些资源是针对ACM(International Collegiate Programming Contest,国际大学生程序设计竞赛)的训练材料,旨在帮助学生提升算法设计、编程技巧和问题解决...
中心和蚂蚁金服集团组成的联合课题组负责编制,课题组顾问由北京大学数字金融研究中心 主任黄益平,蚂蚁金服集团副总裁梁世栋担任。第一期指数(2011-2015)课题组 成员包括:郭峰、孔涛、王靖一、张勋、程志云、阮...
2、来源:北京大学数字普惠金融指数 3、范围:全国31省,337个地级市以及2800个县 4、指标:覆盖广度、使用深度、支付业务、保险业务、货币基金业务、投资业务、信用业务、信贷业务、数字化程度 这套指数包括数字...
《高等代数》是北京大学出版的一本经典教材,它涵盖了线性代数、多项式理论、群论、环论等多个核心领域,对于深入理解和掌握代数学的基本概念、定理和方法具有极其重要的作用。这本书不仅是大学数学专业学生的必修...
【北京大学地理信息系统概论专业课真题解析】 地理信息系统(GIS)是一门融合了地理学、计算机科学、信息科学和遥感技术等多学科的交叉学科。本篇将围绕北京大学地理信息系统概论专业课的历年真题,深入解析相关...
对于初学者来说,掌握MATLAB的基本操作和编程技巧是十分重要的,而这本“MATLAB7.0北大教程”正为此提供了详尽的指导。 教程通常分为几个部分,首先会介绍MATLAB的工作环境,包括启动MATLAB、界面布局、工作空间的...
标题中的“低面背景扁平化简约蓝北京大学论文答辩ppt模板.rar”暗示了这是一个专为北京大学学生设计的论文答辩演示文稿模板,采用的是时下流行的低面设计风格,结合扁平化设计原则,并以蓝色调为主,呈现出简约、...
【北京大学《高等数学》大一上期末复习资料】 高等数学是大学理工科专业的重要基础课程,它涵盖了微积分、线性代数、多元函数微分学等核心内容。北京大学的高等数学课程以其严谨的学术风格和深入浅出的教学方式著称...
【标题】北京大学-曹建-人工智能实践TensorFlow课件和代码)揭示了人工智能领域的核心学习资源,特别是关于TensorFlow的深度应用。这个资料包由北京大学的曹建教授提供,旨在帮助学生和研究者掌握TensorFlow这一强大...