導航:首頁 > 源碼編譯 > 遞歸演算法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相關的資料

熱點內容
android學到什麼程度 瀏覽:370
如何加密一個小區 瀏覽:309
51單片機控制三相控制器 瀏覽:810
手機上什麼解壓軟體可以強制解壓 瀏覽:781
win7有自帶編譯器嗎 瀏覽:541
轉接器連了沒有文件夾 瀏覽:570
二手開利螺桿壓縮機 瀏覽:309
有php基礎學java要多久 瀏覽:300
程序員稅後工資多少可以跳槽 瀏覽:172
個別網站無法解析伺服器的dns地址 瀏覽:972
安卓手機如何打開rmb文件 瀏覽:217
新生兒app叫什麼 瀏覽:67
斗魚加密怎麼弄 瀏覽:763
為什麼會加密不可上網 瀏覽:533
步步高手機編譯時間啥意思 瀏覽:398
程序員復盤app 瀏覽:162
pdf確定 瀏覽:538
php連接mysql埠號 瀏覽:1001
id3演算法在進行某個節點劃分時 瀏覽:408
麥塊伺服器如何登錄正版 瀏覽:687