Java編程:寫出求n的階乘的方法,并算出1到7的階乘的和方法:

創(chuàng)新互聯(lián)長(zhǎng)期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為乾安企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站建設(shè),乾安網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
先編寫求階乘的方法,再通過for循環(huán)計(jì)算1到7的階乘的和。
具體實(shí)現(xiàn):
public?class?Test?{
public?static?void?main(String[]?args)?{
int?sum?=?0;??//保存階乘的和
for(int?i?=?1;i=7;i++)
sum?+=?factorial(i);
System.out.println(sum);
}
//?求階乘方法,傳入一個(gè)整數(shù),返回這個(gè)整數(shù)的階乘
public?static?int?factorial(int?num)?{
int?result?=?1;
for(int?i?=?1;i=num;i++){
result?*=?i;
}
return?result;
}
}
親測(cè)可用
long jiecheng(int x)
{
long int i,k=1;
for(i=1;i=x;i++)
k=k*i;
return k;
}
int main()
{
long int j,k=0;
int i;
for(i=1;i=20;i++)
{
j=jiecheng(i);
k+=j;
}
printf("%ld\n",k);
}
輸出的結(jié)果是2561327494111820313
擴(kuò)展資料:
一個(gè)正整數(shù)的階乘(factorial)是所有小于及等于該數(shù)的正整數(shù)的積,并且0的階乘為1。自然數(shù)n的階乘寫作n!。1808年,基斯頓·卡曼引進(jìn)這個(gè)表示法。
亦即n!=1×2×3×...×n。階乘亦可以遞歸方式定義:0!=1,n!=(n-1)!×n。
計(jì)算方法:
大于等于1:
任何大于等于1 的自然數(shù)n 階乘表示方法:n! =?1×2×3×...×(n-1)n或n! = n×(n-1)!
0的階乘:0!=1。
參考資料:百度百科——階乘
1、首先在電腦打開eclipse軟件,創(chuàng)建Scanner對(duì)象。
2、然后輸出信息,請(qǐng)求用戶輸入要輸入計(jì)算的階乘數(shù)。代碼:System.out.println("請(qǐng)輸入要計(jì)算的階乘數(shù):");
3、然后創(chuàng)建num接受鍵盤輸入的信息。再創(chuàng)建n,sum。
4、然后創(chuàng)建for語句,進(jìn)行計(jì)算階乘。
5、然后在最后,輸出所算的階乘結(jié)果。代碼:System.out.println(n+"的階乘為"+sum);
6、然后再點(diǎn)擊程序運(yùn)行按鈕。在下面的窗口就可以看到運(yùn)行結(jié)果。
使用BigInteger大容量運(yùn)算類計(jì)算100的階乘
一.一般算法(循環(huán))
view plaincopy to clipboardprint?
public class Test {
public static void main(String[] args) {
int result = 1;
for (int i = 1; i = 100; i++) {
result *= i;
}
System.out.println(result);
}
}
public class Test {
public static void main(String[] args) {
int result = 1;
for (int i = 1; i = 100; i++) {
result *= i;
}
System.out.println(result);
}
}
輸出結(jié)果為0,因?yàn)閕nt無法保存下100的階乘的結(jié)果,100的階乘的長(zhǎng)度至少大于50位,也要大于long,double
二.使用BigInteger大容量運(yùn)算類
view plaincopy to clipboardprint?
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
BigInteger result = new BigInteger("1");//為result賦初始值,為1
for (int i = 1; i = 100; i++) {
BigInteger num = new BigInteger(String.valueOf(i));
result = result.multiply(num);//調(diào)用自乘方法
}
System.out.println(result);//輸出結(jié)果
System.out.println(String.valueOf(result).length());//輸出長(zhǎng)度
}
}
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
BigInteger result = new BigInteger("1");//為result賦初始值,為1
for (int i = 1; i = 100; i++) {
BigInteger num = new BigInteger(String.valueOf(i));
result = result.multiply(num);//調(diào)用自乘方法
}
System.out.println(result);//輸出結(jié)果
System.out.println(String.valueOf(result).length());//輸出長(zhǎng)度
}
}
計(jì)算結(jié)果為:93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
產(chǎn)度:158
網(wǎng)站名稱:java階乘偽代碼,javan的階乘代碼
網(wǎng)站鏈接:http://chinadenli.net/article11/dsgjegd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站收錄、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站改版、微信小程序、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)