新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 179, 距离下一级还需 21 积分
论坛徽章:0
RT。是一道笔试题
& |& & |& & |& & |& 
小富即安, 积分 2305, 距离下一级还需 2695 积分
论坛徽章:0
这种题对数学要求很高,我这辈子是做不出来了
家境小康, 积分 1470, 距离下一级还需 530 积分
论坛徽章:0
稍有积蓄, 积分 320, 距离下一级还需 180 积分
论坛徽章:0
大数阶乘有算法的
不过面试的话 可以给他个思路哦
不能具体的计算结果
白手起家, 积分 13, 距离下一级还需 187 积分
论坛徽章:0
精确计算这个大数阶乘的位数我还做不到,但估算一下还是可以做到的。说说我自己的看法。
一个自然数N,它的位数等于lgN+1。lg就是以10为底的对数。例如250 = 2.5*10^2,则lg250 = 2 + lg2.5,而lg2.5小于1,所以数250的位数约等于lg250+1,忽略小数部分,就等于3。
所以1000!的位数约等于lg1000!+1
lg1000! = lg1+lg2+lg3+……+lg1000
这个求和约等于lgx这条曲线在区间[1,1000]与x轴围成的面积,也就是等于lgx在区间[1,1000]的定积分。
这个定积分很好计算,等于(-1000+1)/ln10,ln是自然对数。
所以1000!的阶乘的位数是1+(-1000+1)/ln10 = 2567
白手起家, 积分 13, 距离下一级还需 187 积分
论坛徽章:0
用windows计算器算的阶乘的结果的位数为2568,仅相差1,已经是相当精确的结果了。
小富即安, 积分 2305, 距离下一级还需 2695 积分
论坛徽章:0
原帖由 heavyrain44 于
01:29 发表
用windows计算器算的阶乘的结果的位数为2568,仅相差1,已经是相当精确的结果了。
呵呵,看来我已经老了,那些东西想都没想到
白手起家, 积分 25, 距离下一级还需 175 积分
论坛徽章:0
有个叫斯特林公式的:
n! 约= ((n/e)^n) * (sqrt(2*n*PI))
小富即安, 积分 4269, 距离下一级还需 731 积分
论坛徽章:0
原帖由 heavyrain44 于
09:29 发表
用windows计算器算的阶乘的结果的位数为2568,仅相差1,已经是相当精确的结果了。
嗯,差别在于你求的是连续函数的积分,而实际是阶梯函数的积分。
白手起家, 积分 3, 距离下一级还需 197 积分
论坛徽章:0
这个…………我做ACM时是用数组来处理的,但那是要算出精确结果的。
如果要只算出有多少位应该没必要这样子做。