導航:首頁 > 源碼編譯 > 遞歸演算法java1到100

遞歸演算法java1到100

發布時間:2024-08-29 06:14:30

java用遞歸演算法編寫求1~n的累加和

importjava.util.Scanner;
publicclassZhi2{
publicstaticvoidmain(String[]args){
intnumber=1;
intsum=0;
intn;
Scannerscanner=newScanner(System.in);
n=scanner.nextInt();
for(;number<=n;number++){
sum+=number;
}
System.out.println(+sum);
}
}

Ⅱ 用遞歸演算法求1~100的和,用java寫。

publicclassTest{/*創建類*/

publicstaticvoidmain(String[]args){
System.out.println(dg(100));
}

staticintdg(inti){/*定義變數*/
intsum;
if(i==1)/*假設條件*/
return1;
else
sum=i+dg(i-1);/*1~100的和的表達式*/
returnsum;/*返回結果*/
}
}

遞歸是計算機科學的一個重要概念,遞歸的方法是程序設計中有效的方法,採用遞歸編寫。

遞歸能使程序變得簡潔和清晰。

每次調用在規模上都有所縮小(通常是減半);

相鄰兩次重復之間有緊密的聯系,前一次要為後一次做准備(通常前一次的輸出就作為後一次的輸入);

在問題的規模極小時必須用直接給出解答而不再進行遞歸調用,因而每次遞歸調用都是有條件的(以規模未達到直接解答的大小為條件),無條件遞歸調用將會成為死循環而不能正常結束。

Ⅲ JAVA遞歸演算法,1^2+2^2+3^2+....+n^2

publicclassDigui{//遞歸演算法:publicstaticdoubledigui(intn){doublesum=0.0;if(n==1){sum=1;}else{if(n%2==0){sum=1.0/n+digui(n-1);}else{sum=-1.0/n+digui(n-1);}}returnsum;}//非遞歸演算法:publicstaticdoublefeidigui(intn){doublecount=0.0;StringBuffersb=newStringBuffer();for(doublei=1;i<=n;i++){if(i==1){count=1;sb.append("n!="+n+"!=1");}else{if(i%2==0){count=count+1/i;sb.append("+1/"+(int)i);}else{count=count-1/i;sb.append("-1/"+(int)i);}}}System.err.println(sb.toString());returncount;}publicstaticvoidmain(String[]args){intn=10;doubledigui=feidigui(n);doublefeidigui=digui(n);System.out.println("遞歸演算法:"+n+"!="+digui);System.out.println("非遞歸演算法:"+n+"!="+feidigui);}}運行結果如下:n!=10!=1+1/2-1/3+1/4-1/5+1/6-1/7+1/8-1/9+1/10遞歸演算法:10!=1.3543650793650797非遞歸演算法:10!=1.3543650793650797

Ⅳ 在java中,用遞歸方法計算n的階乘。

用Java求鍵盤輸入的數的階乘n。(遞歸演算法)packagejiecheng; importjava.util.*; //導入java.util包中的所有類classrep{ publiclongrep(intn){ longi=0; if(n==0||n==1) i=1;

elsi=n*rep(n-1) returni; } } publicclassJie{ publicstaticvoidmain(String[]args){ intn; //此處定義要輸入的數Scanners= newScanner(System.in); //以下三行用於n的值得輸入System.out.print( "請輸入一個整數:"); n=s.nextInt(); repf= newrep(); System.out.println(n+"!="+f.rep(n)); } }

Ⅳ java中遞歸演算法是什麼怎麼算的

Java遞歸演算法是基於Java語言實現的遞歸演算法。遞歸演算法是一種直接或者間接調用自身函數或者方法的演算法。遞歸演算法實質是把問題分解成規模縮小的同類問題的子問題,然後遞歸調用方法表示問題的解。遞歸往往能給我們帶來非常簡潔非常直觀的代碼形式,從而使我們的編碼大大簡化,然而遞歸的思維確實跟我們的常規思維相逆的,通常都是從上而下的思維問題,而遞歸趨勢從下往上的進行思維。

二、遞歸演算法解決問題的特點:

【1】遞歸就是方法里調用自身。

【2】在使用遞歸策略時,必須有一個明確的遞歸結束條件,稱為遞歸出口。

【3】遞歸演算法代碼顯得很簡潔,但遞歸演算法解題的運行效率較低。所以不提倡用遞歸設計程序。

【4】在遞歸調用的過程中系統為每一層的返回點、局部量等開辟了棧來存儲。遞歸次數過多容易造成棧溢出等,所以一般不提倡用遞歸演算法設計程序。

【5】在做遞歸演算法的時候,一定把握出口,也就是做遞歸演算法必須要有一個明確的遞歸結束條件。這一點是非常重要的。其實這個出口就是一個條件,當滿足了這個條件的時候我們就不再遞歸了。

三、代碼示例:

代碼執行流程圖如下:

此程序中n=5就是程序的出口。

閱讀全文

與遞歸演算法java1到100相關的資料

熱點內容
ios和android前景好 瀏覽:60
蘋果如何藍牙傳送安卓app 瀏覽:550
方舟編譯器mod怎麼用 瀏覽:754
伺服器地址欄在哪裡 瀏覽:393
做安檢還是程序員好 瀏覽:524
程序員最火的bug 瀏覽:934
騰訊文件夾英文怎麼寫 瀏覽:125
pdf內碼 瀏覽:432
微信小程序文件夾怎麼發給好友 瀏覽:969
java不能被繼承的類 瀏覽:161
蘋果app網址怎麼添加 瀏覽:910
php明年的今天 瀏覽:115
麒麟970也能用方舟編譯器么 瀏覽:476
金融實驗大作業python 瀏覽:795
雲伺服器搭建聊天室 瀏覽:603
怎麼在手機上下載荔枝app 瀏覽:18
湖南戴爾伺服器雲空間 瀏覽:363
聯想驅動怎麼解壓 瀏覽:268
程序員進化論解說 瀏覽:871
怎麼設置個性化文件夾圖標 瀏覽:390