java阶乘的算法 怎么利用java代码计算阶乘?

怎么利用java代码计算阶乘?Java程序计算20的阶乘并使用BigDecimal类接收数据,如下所示:;公共类测试{public static void main(string[]args){Big

怎么利用java代码计算阶乘?

Java程序计算20的阶乘并使用BigDecimal类接收数据,如下所示:;公共类测试{public static void main(string[]args){BigDecimal CNT=new BigDecimal(0)for(int i=1 i<=20 i){CNT=控制添加(解成(I))//循环计算20内的阶乘}系统输出打印(cnt)}public static BigDecimal jiecheng(int n){if(n==1){return new BigDecimal(1)}//multiply()multiply return结城(n-1)。Multiply(New BigDecimal(n))}

给出了一个例子来说明算法:

1!2! 3N

! = 1 2 * (1 3 * (1 4 * (1 5 (1. (1(n-1)*(1 n))

但当n=100时,它似乎溢出。因此,有必要实现大数乘法的功能。

#Include

void main()

{

long sum

int n=100

sum=n

while(n!=1)

{

sum=1

sum*=n-1//使用大数乘法函数替换此处的处理

n-->]printf(%dn“,sum)

}