卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

Java實現(xiàn)多種階乘算法及其應用

什么是階乘?階乘(factorial)是基斯頓·卡曼(Christian Kramp, 1760 – 1826)于1808年發(fā)明的運算符號。階乘,也是數(shù)學里的一種術語,通常表示為n!,其中n是一個非

什么是階乘?

階乘(factorial)是基斯頓·卡曼(Christian Kramp, 1760 – 1826)于1808年發(fā)明的運算符號。階乘,也是數(shù)學里的一種術語,通常表示為n!,其中n是一個非負整數(shù)。

使用Java實現(xiàn)多種階乘算法

在Java中,我們可以利用不同的算法來計算階乘。下面我們介紹幾種常見的實現(xiàn)方式。

簡單的循環(huán)算法

首先,在eclipse中新建一個Java項目,然后創(chuàng)建一個名為TextFactorial的類。通過簡單的循環(huán)方法可以計算階乘,代碼如下:

```java

public static int simpleCircle(int num) {

int sum 1;

if(num < 0) {

throw new IllegalArgumentException("必須為正整數(shù)!");

}

for(int i 1; i < num; i ) {

sum * i;

}

return sum;

}

```

遞歸算法

另一種方法是利用遞歸來計算階乘,代碼如下所示:

```java

public static int recursion(int num) {

int sum 1;

if(num < 0) {

throw new IllegalArgumentException("必須為正整數(shù)!");

}

if(num 1) {

return 1;

} else {

sum num * recursion(num - 1);

return sum;

}

}

```

數(shù)組添加算法

通過數(shù)組添加的方式進行階乘計算也是一種常見的算法,可以使用以下代碼實現(xiàn):

```java

public static long addArray(int num) {

long[] arr new long[21];

arr[0] 1;

int last 0;

if(num > arr.length) {

throw new IllegalArgumentException("傳入的值太大");

}

if(num < 0) {

throw new IllegalArgumentException("必須為正整數(shù)!");

}

while(last < num) {

arr[last 1] arr[last] * (last 1);

last ;

}

return arr[num];

}

```

利用BigInteger類實現(xiàn)大數(shù)階乘

對于大數(shù)階乘的計算,可以使用BigInteger類來處理。下面是一個利用BigInteger類計算階乘的示例:

```java

public static synchronized BigInteger bigNumber(int num) {

ArrayList list new ArrayList<>();

((1));

for (int i (); i < num; i ) {

BigInteger lastFact (i - 1);

BigInteger nextFact ((i));

(nextFact);

}

return (num);

}

```

實際應用與運行結果

在Java程序的主入口處,我們可以調用上述不同的階乘算法并輸出結果。例如,可以這樣調用各個方法來計算5的階乘和23的階乘,并輸出結果。

```java

public static void main(String[] args) {

int num 5;

int num1 23;

("簡單的循環(huán)計算" num "的階乘為" simpleCircle(num));

("利用遞歸計算" num "的階乘為" recursion(num));

("數(shù)組添加計算" num "的階乘為" addArray(num));

("利用BigInteger類計算" num1 "的階乘為" bigNumber(num1));

}

```

通過以上實現(xiàn),我們可以靈活選擇不同的算法來計算階乘,以滿足不同場景下的需求,從而更好地應用于實際開發(fā)中。

標簽: