java階乘的算法 怎么利用java代碼計(jì)算階乘?
怎么利用java代碼計(jì)算階乘?Java程序計(jì)算20的階乘并使用BigDecimal類接收數(shù)據(jù),如下所示:;公共類測(cè)試{public static void main(string[]args){Big
怎么利用java代碼計(jì)算階乘?
Java程序計(jì)算20的階乘并使用BigDecimal類接收數(shù)據(jù),如下所示:;公共類測(cè)試{public static void main(string[]args){BigDecimal CNT=new BigDecimal(0)for(int i=1 i<=20 i){CNT=控制添加(解成(I))//循環(huán)計(jì)算20內(nèi)的階乘}系統(tǒng)輸出打?。╟nt)}public static BigDecimal jiecheng(int n){if(n==1){return new BigDecimal(1)}//multiply()multiply return結(jié)城(n-1)。Multiply(New BigDecimal(n))}
給出了一個(gè)例子來(lái)說(shuō)明算法:
1!2! 3N
! = 1 2 * (1 3 * (1 4 * (1 5 (1. (1(n-1)*(1 n))
但當(dāng)n=100時(shí),它似乎溢出。因此,有必要實(shí)現(xiàn)大數(shù)乘法的功能。
#Include
void main()
{
long sum
int n=100
sum=n
while(n!=1)
{
sum=1
sum*=n-1//使用大數(shù)乘法函數(shù)替換此處的處理
n-->]printf(%dn“,sum)
}