阶乘

    阶乘是基斯顿·卡曼(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,……)

  运用积分的知识,我们可以证明Γ(x)=(x-1)× Γ(x-1)

  所以,当 x 是整数 n 时,Γ(n)=(n-1)(n-2)……=(n-1)!

  这样 Gamma 函数实际上就把阶乘的延拓

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); 
} 

 

posted @ 2015-12-03 20:04  秦萧不再  阅读(697)  评论(0编辑  收藏  举报