阶乘是基斯顿·卡曼(Christian Kramp,1760~1826)于 1808 年发明的运算符号,是数学术语。
一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且有0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。
亦即n!=1×2×3×...×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。
正整数阶乘指从1乘以2乘以3乘以4一直乘到所要求的数。例如所要求的数是 4,则阶乘式是 1×2×3×4,得到的积是 24,24 就是 4 的阶乘。 例如所要求的数是 6,则阶乘式是 1×2×3×……×6,得到的积是 720,720 就是 6 的阶乘。例如所要求的数是 n,则阶乘式是 1×2×3×……×n,设得到的积是 x,x 就是 n 的阶乘 。
表示方法:
在表达阶乘时,就使用“!”来表示。如 x 的阶乘,就表示为“x!”
二十以内的数,以下列出 0 至 20 的阶乘:
0!=1,(0 的阶乘是存在的,且定为1)
1!=1,
2!=2,
3!=6,
4!=24,
5!=120,
6!=720,
7!=5040,
8!=40320
9!=362880
10!=3628800
11!=39916800
12!=479001600
13!=6227020800
14!=87178291200
15!=1307674368000
16!=20922789888000
17!=355687428096000
18!=6402373705728000
19!=121645100408832000
20!=2432902008176640000
取值范围:通常我们所说的阶乘是定义在自然数范围里的(大多科学计算器只能计算 0~69 的阶乘),小数科学计算器没有阶乘功能,如 0.5!,0.65!,0.777!都是错误的。但是,有时候我们会将Gamma 函数定义为非整数的阶乘,因为当 x 是正整数 n 的时候,Gamma 函数的值是 n-1 的阶乘。
伽玛函数:Γ(x)=∫e^(-t)×t^(x-1)dt (积分下限是零,上限是+∞)(x≠0,-1,-2,-3,……)
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); }