Javaで書かれた古典的な再帰アルゴリズム

 

 
// 1 100を追加:
パブリック 静的 ボイドメイン(文字列[]引数){ System.out.printlnは(F( 100 )); } // 再帰 パブリック 静的 INT F(INT X){ IF(X <2 ){ リターン 1。; } { 戻り (F 1-X)+。X; } }

 

 

2.フィボナッチ数列行為生のウサギ

タイトル:クラシック問題:ウサギに3ヶ月の誕生から毎月、第三月成長する小さなウサギは月ウサギが死んでいない場合は、ウサギの一組を出産した、と月額ウサギの総数のどのくらいを尋ねた後、 ?

分析:まず、我々はタイトルの意味は月額ウサギの合計数を指し理解する必要があります。にウサギを想定小さな生後3ヶ月から3匹のウサギは、各月のウサギのペアを産むだろうしている大規模な媒体であって、

だから私たちは小さなウサギのウサギの最初の月は、ウサギが第二の月であることを前提とし、大きなウサギなどの最初の3ヶ月後、その後、それぞれ、それぞれ、最初の月で、二月1,0,0があります0,1,0、

最初の3ヶ月間は、第1〜第4月のそれぞれ1,0,1、、、1,1,1、2,1,2、それぞれ第五の月、第六月それぞれ3,2,3でした7ヶ月は5、3だった......

ウサギの合計数は次のとおりです:1、1、......

だから、最初の3ヶ月から始めて、法律に来てウサギの総数は背後に、前の2ヶ月とウサギの総数に等しい、フィボナッチ数です。

 

 パブリック 静的 ボイドメイン(文字列[]引数){
         ためINT I = 1; Iは= 12は、<; I ++は){ 
            するSystem.out.printlnは( "最初の" + i)は、+ F(I "ウサギヶ月でした" +」 「オン); 
        } 
    } 
    // 再帰
    パブリック 静的 INT F(INT X){
       IF(X <3 ){
           リターン 1。; 
      } {
        戻り   (F 1-X)+ F(X-2 ); 
      } 
    }

 

おすすめ

転載: www.cnblogs.com/zxrxzw/p/11425013.html