import?java.util.Scanner;
創新互聯長期為成百上千家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為皇姑企業提供專業的成都網站制作、成都網站設計,皇姑網站改版等技術服務。擁有十載豐富建站經驗和眾多成功案例,為您定制開發。
public?class?nj?{
public?static?void?main(String[]?args)?{
Scanner?sc?=?new?Scanner(System.in);
int?n?=?sc.nextInt();
int?a?=?1;
while(n?!=?1){
a?=?a*n;
n--;
}
System.out.println(a);
}
}
public class Qiuhe {
public Qiuhe() {
}
public static void main(String args[]){
int sum = 0;//用來存放1!+2!+3!+4!+.....+10!的值,初始值為零
for(int i = 0; i 10; i++ ){
sum += jiecheng(i + 1);//調用jiecheng()函數算出i+1的階乘,加到sum當中
}
System.out.println("1!+2!+3!+4!+.....+10!的值為:" + sum);
}
public static int jiecheng(int n){//算階乘的函數
if(n == 1 || n == 0){
return 1;
}
else return n * jiecheng(n - 1);
}
}
階乘的公式是
n!=n*(n-1)*(n-2)....*2*1
這個公式可以通過一個java的循環來實現,也就是第一種方法。
for(int i=number; i0;i--)
這個循環在i=0的時候結束, 而階乘的結果通過result*=i來計算。
public static int compute(int number)
{
int result=1;
for(int i=number;i0;i--){
result*=i;
}
return result;
}
public static void main(String[] args)
{
System.out.println(compute(30)); //789912231223232323211
}
第二種是通過遞歸來實現階乘。
遞歸就是方法調用自身, 最終通過一個出口來結束程序的調用。
這個出口要保證程序不出現死循環。
在上面的f(x)- n*f(x-1)這里, 出口就可以設置為
if(1==number)
{return 1;}
代碼實現:
public static int cur(int number){
if(number!=0){
return number*cur(number-1);
}else return 1;
}
給你寫了下代碼,在主函數里調用的時候需要多少以內的階乘相加就把參數寫成多少就好。代碼如下:
public?static?long?factorial(int?n)?{//求n的階乘
if(n?==?1)
return?1;
return?n?*?factorial(n?-?1);
}
public?static?void?print(int?n)?{//輸出等號左邊,比如“1!?+2!”
if(n?==?1)?{
System.out.print("1!");
return;
}
print(n?-?1);
System.out.print("?+"?+?n?+?"!");
}
public?static?void?doFactorSum(int?n)?{//循環執行,輸出最終結果
long?result?=?0;
for(int?i?=?1;?i?=?n;?i++)?{
result?+=?factorial(i);
print(i);
System.out.println("="?+?result);
}
}
public?static?void?main(String[]?args)?{
doFactorSum(20);//調用,得到最終結果
}
有什么問題再追問。
這個好辦
import java.util.*;
public class Jiecheng {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("1~10");
int i= s.nextInt();
int r=0;
do{r*=i; i++;
if(i10||i0)break;}
while(i10||i0);
System.out.println(r);
}
}
文章名稱:階層JAVA代碼,java階梯式代碼
文章路徑:http://m.kartarina.com/article20/heggco.html
成都網站建設公司_創新互聯,為您提供網站策劃、虛擬主機、品牌網站設計、App開發、網站收錄、小程序開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯