双阶乘(双阶乘怎么算)
微博上看到有不少人还不知道阶乘的符号是半角感叹号而不是全角感叹号(虽然平时我也随便写的),那就顺路来做一个科
微博上看到有不少人还不知道阶乘的符号是半角感叹号而不是全角感叹号(虽然平时我也随便写的),那就顺路来做一个科普,顺便介绍一下双阶乘这个概念阶乘是基斯顿·卡曼(Christian Kramp,1760~1826)于1808年发明的运算符号,一个正整数的阶乘是所有小于及等于该数的正整数的积。
0的阶乘为1n的阶乘写作n!一般来说,n为正整数时,n!可以表示为1×2×3×4×...×(n-1)×n需要注意的一点就是,限于初高中的数学来说,阶乘的n所代表的,只有0和自然数但是对于数论来说,是存在负数和非自然数的阶乘的。
这类阶乘不能表现为1×2×3×4×...×(n-1)×n的形式而涉及到一个叫做“伽玛函数”的东西伽玛函数也叫欧拉第二积分,是阶乘函数在实数与复数上扩展的一类函数作为阶乘的延拓,是定义在复数范围内的亚纯函数,通常写成Γ(x)或者Γ(z)。
在实数域上伽玛函数定义为:
在复数域上伽玛函数定义为:
其中,此定义可以用解析开拓原理拓展到整个复数域上,非正整数除外。复平面上的伽玛函数:
1728年,哥德巴赫在考虑数列插值的问题,通俗的说就是把数列的通项公式定义从整数集合延拓到实数集合,例如数列1,4,9,16.....可以用通项公式n^2自然的表达,即便 n 为实数的时候,这个通项公式也是良好定义的。
直观的说也就是可以找到一条平滑的曲线y=x2通过所有的整数点(n,n^2)从而可以把定义在整数集上的公式延拓到实数集合那么把n^2扩展一下,是不是有一个函数可以满足找到一条平滑的曲线通过所有的整数点(n,n!)呢?哥德巴赫没有能够解决阶乘往实数集上延拓的这个问题,他于是写信请教了伯努利和欧拉,最后由欧拉在1729年解决了这个问题。
并由此导致了伽玛函数的诞生通过分部积分的方法,可以推导出这个函数有递归性质:Γ(x+1)=xΓ(x),我们可以很容易发现这正是阶乘的性质所以Γ(x)也被称为阶乘函数而且在x>0时,伽马函数是严格凸函数但是需要注意的一点就是,伽马函数是亚纯函数,在复平面上,除了零和负整数点以外,它全部解析,而伽马函数在-k处的留数为:。
伽马函数从它诞生开始就被许多数学家进行研究,包括高斯、勒让德、魏尔斯特拉斯、刘维尔等等这个函数在现代数学分析中被深入研究,在概率论中也是无处不在,很多统计分布都和这个函数相关比如对于x∈(0,1)来说,就有著名的余元公式:。
而由此余元公式还能推出
当n为负数时,则有Legendre公式:
如果要表示阶乘的阶乘,比如4的阶乘是24,而24的阶乘则是620448401733239439360000,是不是用4!!=620448401733239439360000呢?其实不然事实上4!!这个表示方法是存在的,但表示的数值却只有2×4=8。
,要表示24的阶乘,则必须要用(4!)!来表示而用类似“m!!”表示的,称为“双阶乘”双阶乘的意义是:当m是自然数时,表示不超过m且与m有相同奇偶性的所有正整数的乘积比如(2n-1)!!=1×3×…×(2n-1);(2n)!!=2×4×…×(2n),也就是说,(2n-1)!!×(2n)!!=(2n)!。
双阶乘一般用于自然数和0,和阶乘一样,0的双阶乘也是1需要注意的是,负数也有双阶乘,但仅限于负奇整数当m是负奇整数时,表示绝对值不超过它的绝对值的所有负奇数的绝对值积的倒数[-(2n-1)]!!=1/(|-1|×|-3|×…×|[-(2n-1)]|),其他负数的双阶乘不存在。
附录:顺便说一句,在c语言中,使用循环语句可以很方便的求出阶乘的值,下面介绍一个很简单的计算阶乘的例子:—————————————————————————问题:计算出“ 1!+ 2!+ 3!+…… +10!”的值是多少?
—————————————————————————解答:#include int main(){ int s=0; // 维护累加和1! + 2! + ... + i! int f=1; // 依次计算并保存 i! int i; for(i=1;i<=10;i++) // for循环1到10 { f*=i; // 计算出当前的i! s+=f; // 累加f } printf("%d\n",s); // 输出结果 return 0;
}也就是#includeint main(){ int x; long j=1,sum=0; for(x=1;x<=10;x++) { j*=x;
sum+=j; } printf("1!+2!+...+10!=%ld\n",sum); return 0;}/*结果:4037913*/也可以利用积分求浮点数阶乘#include
#includedouble s;const double e=exp(1.0);double F(double t){ return pow(t,s)*pow(e,-t);}double simpson(double a,double b)
{ double c=a+(b-a)/2; return (F(a)+4*F(c)+F(b))*(b-a)/6;}double asr(double a,double b,double eps,double A)
{ double c=a+(b-a)/2; double L=simpson(a,c),R=simpson(c,b); if(fabs(L+R-A)<=15*eps) return L+R+(L+R-A)/15.0;
return asr(a,c,eps/2,L)+asr(c,b,eps/2,R);}double asr(double a,double b,double eps){ return asr(a,b,eps,simpson(a,b));
}int main(){ scanf("%lf",&s); printf("%lf\n",asr(0,1e2,1e-10)); return 0;}
- 标签:
- 编辑:李松一
- 相关文章
-
郑州市市长(郑州市市委常委)
据郑州人民广播电台官方微博消息,今天上午,郑州市第十五届人民代表大会第四次会议举行第二次全体会议。会议选举侯红为郑州市人民政…
-
白骨观(白骨观修炼用图)
讲究的是观想己身,把自己想象成一具白骨,以此照见五蕴皆空,观一切世间相无非白骨相,从而拥有种种妙处。火车驶出山海关时,已经是入夜时…
- 幽香的意思(幽香的意思幽的意思)
- cms是什么意思(cms是什么意思医学)
- 分子势能(内能)
- 商业银行法(商业银行法关于贷款的规定)
- 鸮卣(鸮卣的拼音)