求N!的位数(斯特林公式)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

斯特林公式


lnN!=NlnN-N+0.5*ln(2*N*pi)

要想求有多少位,将他换成以10为底便可!

利用换底公式得 lnN!/ln10=log10N!

把式子取整形加1就是位数!可以参考hdu1018题!



利用斯特林(Stirling)公式解n!位数 利用斯特林(Stirling)公式解n!位数:易知整数n的位数为[lg10(n)]+1. 用Stirling公式计算n!结果的位数时,可以两边取对数,得: log10(n!) = log10(2*PI*n)/2+n*log10(n/E); 故n!位数为res=log10(2 阅读详情

相关推荐

杭电1018-Big Number

Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 20623    Accepted Submission(s): 9261 Problem Description In many applicat

ecjtu_acm_菜鸟—鱼尾尾 1064

HDU 1018 Big Number(斯特林公式

In many applications very large integers numbers are required. Some of these applications are using keys for secure transmission of data, encryption, etc. In this problem you are given a number, you h...

H4ppyD0g的博客 401

斯特林公式

斯特林公式的推导(简单法则)2010-08-24 11:23<br />斯特林公式的推导(简单法则)<br />此处不使用瓦利斯公式以及其他阶乘定理,而仅采用最简单的微积分法则。<br />我们知道,对于自然数n,有n!=1×2×3×……×n<br />那么lnn!=ln(1×2×3×……×n)=ln1+ln2+ln3+……+lnn<br />记F(n)=lnn!,则F(n)=∑lnk<br />而此和没有特定公式,只能靠近似的算法。<br />如图,是xOy坐标系当中y=lnx的函数图像。其中,深色和浅

<My Love 苏> 的专栏 6159

hdu 1018

题目大意:n!的位数。 伟大的数学,伟大的斯特林。 斯特林公式lnN!=NlnN-N+0.5*ln(2N*PI),阶乘位数为log10(N!)取整+1。len=lnN!/ln(10)+1。 #include #include #define PI 3.1415926 int main() { int n,t; double m; scanf("%d",&t); whi

窝窝丶2014的专栏 521

C++斯特林公式n!位数

斯特林公式是一条用来取n的阶乘的近似值的数学公式。一般来说,当n很大的时候,n阶乘的计算量十分大,所以斯特林公式十分好用,而且,即使在n很小的时候,斯特林公式的取值已经十分准确。

SkeletonKing233的博客 1060

斯特林公式 n! 和 n!在m阶乘下的位数

斯特林公式: 公式如下:  N!=2πn−−−√(ne)n 化简如下: log10(n!)=log10(2πn−−−√(ne)n) 原式 = ln2πn√(ne)n 原式 = 0.5∗ln(2πn)+n∗lnn−n c++中的log(e)=1. 链接:https://www.nowcoder.net/acm/contest/75/A

wwwlps的博客 645

斯特林公式n!位数

斯特林公式(Stirling):    对右端取以10为的对数再加1就是n!的位数:    位数=(lg2πn)/2+nlg(n/e)+1代码如下:    #include&lt;stdio.h&gt;    #include&lt;stdlib.h&gt;    #include&lt;iostream&gt;    #include&lt;algorithm&gt;    #include&l...

zsnowwolfy的博客 404

斯特林公式--n!位数

斯特林公式: #include #include int main(void) { int T; double n; scanf("%d", &T); while(T--) { scanf("%lf", &n); if(n!=1) printf("%d\n", (int)(log10(2*3.1415926*n)/2+n*log10(n/2.71828

加载中... 885

HDOJ---1018 N!的位数[斯特林公式---处理阶乘及阶乘位数的问题]

  Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15969    Accepted Submission(s): 7061 Problem Description In many applications ...

weixin_34174322的博客 189

LightOJ - 1045 N!在k进制下的的位数斯特林公式

题意:n的阶乘k进制下的位数。题解:斯特林公式可以N!在k进制下的的位数。#include&lt;cstdio&gt; #include&lt;iostream&gt; #include&lt;cmath&gt; using namespace std; double pi =acos(-1.0);//π double e =exp(1);//e int t; ...

阿狸的博客 358

POJ 1423 HDOJ 1018 Big Number(数学n!的位数,log取底和斯特林公式的应用)

Big Number Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 27261 Accepted: 8703 Description In many applications very large integer

Chunzhen的博客 952

斯特林公式近似阶乘的位数

题目来源:https://www.nowcoder.net/acm/contest/75/A 这条公式不可以直接用,有一个原因: 我写了一个程序去测试斯特林公式(其实它至少约等于)发现随着输入数的增大,用斯特林公式出来的近似值误差越来越大。斯特林公式只是一个近似值!! 所以两边取对数:log8(n!) 约等于 log8(斯特林公式),再次测试: log8(n!)随着n的...

pipitongkw1的博客 1665

poj-2661-Factstone Benchmark(对数log()的应用or斯特林公式n!的位数

Description Amtel has announced that it will release a 128-bit computer chip by 2010, a 256-bit computer by 2020, and so on, continuing its strategy of doubling the word-size every ten years. (Amte

syz201558503103的博客 624

51nod 1130 阶乘长度 [Stirling公式]

输出n!的位数 n! 约等于 根号下(2πn) * (n/e )^n 那么 res = 1/2*lg(2πn) + nlg(n/e) + 1 实测n很小也是正确的答案

C'est la vie. 634

[BZOJ3000]Big Number(斯特林公式)

n!在k进制下的位数,n<=1e18 斯特林公式:$n!\approx \sqrt{2\pi n}(\frac{n}{e})^n$ 在n很大的时候有较好的精度保证。 $\log_{k}n!+1=\frac{1}{2}\frac{\ln(2\pi n)}{\ln k}+n\frac{\ln n-\ln e}{\ln k}+1$ n较小时直接暴力解即可。 1 #in...

weixin_30252709的博客 72

斯特林公式的初识

第一次写博客,很是生疏,Em....作为一名刚入门Code领域的小菜鸡,难得平时做题,今天无意刷到一道n!的的位数的题,刚开始思路不是很清晰,也无从下手,因为数据也稍微有点大,Em.....之后就上网搜了一些相关问题偶然发现了斯特林公式,不是加特林哦哈哈哈,在网上也看了别的博主的一些讲解,我觉得挺不错的,不过有的相对于我们基础薄弱的来说有的就有丢丢不友好了,以下内容就我个人对这个题型的一点见解,...

Noah_orz的博客 775

斯特林公式】N!的k进制位数

斯特林公式

~★sunshine☆的博客专栏 560
上一篇: [置顶]Labeling Balls--poj3687
下一篇: 杭电1018-Big Number(大数)
Eric_keke
博客等级 码龄12年 37粉丝 221原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值