大家好,今天小编关注到一个比较有意思的话题,就是关于递归英文的问题,于是小编就整理了2个相关介绍递归英文的解答,让我们一起看看吧。
阶乘是基斯顿·卡曼(Christian Kramp,1760~1826)于 1808 年发明的运算符号,是数学术语。
一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。
亦即n!=1×2×3×...×(n-1)×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。
基本定义
一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且有0的阶乘为1。自然数n的阶乘写作
。1808年,基斯顿·卡曼引进这个表示法。
亦即
。阶乘亦可以递归方式定义:
。
阶乘亦可定义于整个实数(负整数除外),其与伽玛函数的关系为:
的可质因子分解为
,如
。
计算
计算
时,当n不太大时,普通的科学计算机都可以计算,能够处理不超过
数值的计算机可以计算至
。
当n很大时,可以用斯特林公式估计:
更精确的估计是:
其中
定义扩展
阶乘的定义可推广到复数,其与伽玛函数的关系为:
伽玛函数满足
。
递进与递降阶乘
递进阶乘:
递降阶乘:
双阶
表示双阶乘,其定义为:
广义的双阶乘
无视上述定义的
因为即使值的N,双阶乘为奇数可扩展到最实数和复数z的注意到,当z是一个正的奇数则:
定义为所有复数除负偶数。
使用它的定义,半径为R的n维超球其体积可表示为:
多重阶乘
被称为n的k重阶乘,定义为:
广义的多重阶乘
能将多重阶乘推广到复数(甚至是四元数):
hyper阶乘
hyper阶乘(hyperfactorial有时译作过度阶乘)写作
,其定义为:
hyper阶乘和阶乘差不多,但产生更大的数。hyper阶乘的增长速度却并非跟一般阶乘在大小上相差很远。前几项的hyper阶乘为:
超级阶乘
1995年,尼尔·斯洛恩和西蒙·普劳夫定义了超级阶乘(superfactorial)为首n个阶乘的积。一般来说
自然数阶幂
阶幂也称叠幂或者重幂记作
(感叹号!写在自然数的右上角),它的定义是将自然数1至n的数由大到小作幂指数重叠排列,数学定义如下:
其中
,前几项的重幂数为:
第5个重幂数是一个有183231位阿拉伯数字组成的超大自然数。
二次阶幂:
相应地,m次阶幂定义如下:
其中
,且
。
callee和caller是对象的两个属性。
callee是arguments对象的一个属性,指向 arguments 对象的函数,即当前函数。
caller是指向调用当前函数的函数,比如b函数调用a函数,那么a.caller则是b的引用;callee是arguments的一个属性,指向其函数自身,比如在a函数中,arguments.callee就是a,这个特性可以用来计算正整数的阶乘,x*arguments.callee(x-1)也可以用来比较实参和形参,arguments.length和arguments.callee.length。
caller返回一个函数的引用,这个函数调用了当前的函数。
使用这个属性要注意:
1 这个属性只有当函数在执行时才有用
2 如果在javascript程序中,函数是由顶层调用的,则返回nullfunctionName.caller: functionName是当前正在执行的函数。
到此,以上就是小编对于递归英文的问题就介绍到这了,希望介绍关于递归英文的2点解答对大家有用。