又大又肥硕的奶头小说,又大又粗进去爽a片免费,色窝窝无码一区二区三区,特级做a爰片毛片免费看108

Java實現多種階乘算法及其應用

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

什么是階乘?

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

使用Java實現多種階乘算法

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

簡單的循環算法

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

```java

public static int simpleCircle(int num) {

int sum 1;

if(num < 0) {

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

}

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("必須為正整數!");

}

if(num 1) {

return 1;

} else {

sum num * recursion(num - 1);

return sum;

}

}

```

數組添加算法

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

```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("必須為正整數!");

}

while(last < num) {

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

last ;

}

return arr[num];

}

```

利用BigInteger類實現大數階乘

對于大數階乘的計算,可以使用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;

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

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

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

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

}

```

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

標簽:
主站蜘蛛池模板: 马公市| 措勤县| 渝中区| 奉新县| 定日县| 丰宁| 隆尧县| 南投市| 六盘水市| 界首市| 皮山县| 抚顺市| 崇阳县| 于田县| 山阳县| 浦县| 水城县| 金阳县| 海门市| 中阳县| 大厂| 黎川县| 柯坪县| 长沙县| 卢龙县| 微山县| 修文县| 大冶市| 乌拉特中旗| 都安| 迁安市| 龙口市| 宁陵县| 息烽县| 江门市| 普兰店市| 凉城县| 西乌珠穆沁旗| 鹤峰县| 建湖县| 延川县|