您的位置:首页 > 其它

阶乘

2015-12-03 19:08 330 查看
定义:
阶乘是基斯顿·卡曼(Christian Kramp,1760~1826)于 1808 年发明的运算符号,是数学术语。
一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数,并且有0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。
亦即n!=1×2×3×...×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。

任何大于 1 的自然数n 阶乘表示方法







Java中的阶乘:

public class Main{
final static int MAX=20;// 可以替换 MAX 的值。

public static void main(String[] args)
{
int i=1;
long result=1;
long[] n=new long[MAX];
do{
result*=(i+1);
System.out.println(i+"!="+result);
n[i]=result;
i++;
}while(i<MAX);
n[0]=1;
//阶乘end
}
}


另外一种方法:


public static final int fac(int n)
{return (n == 0)? 1 : n * fac(n - 1);
}


PHP中的阶乘:

<?phpfunction jc($n){
if($n>1){
return $n*jc($n-1);
}else{
return 1;
}}?>Python 阶乘
#!/usr/bin/env pythonimport sysdef warn():
print("Usage:%s number" % sys.argv[0])
print("Please input max number that you want to do factorial on.")
def factorial(value):
if value == 0:
return 1 elif value == -1:
return (((-1)*(-1))-(-1)*(-1))
else:
I=1 for J in range(1,value);
I*=(J+1)
return Iif __name__ == "__main__":
if len(sys.argv) == 1:
warn() elif len(sys.argv) >2:
warn() elif int(sys.argv[1]) < -1:
print("Please give an integer.")
else:
print("%s!=%s " % (sys.argv[1],factorial(int(sys.argv[1]))))


JavaScript 阶乘:

function factorial(num){
if (num <= 1)
return 1;
else
return num * arguments.callee(num - 1);
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: