7、アパラチアフィボナッチ数

トピック1:

我々は、すべての今、フィボナッチ数、および整数nを入力するように求められていることを知っている、あなたは出力n番目のフィボナッチ数は、項目の順序をフィボナッチのn <= 39(0から、最初の0は0です)

 

公共 INTフィボナッチ(int型N){
              場合(N == 0)戻り 0 ;
          もし(N == 1)リターン 1 戻りフィボナッチ(N-1)+フィボナッチ(N-2 )。
    }

 

トピック2:

カエルは、クラス1レベルにジャンプすることができ、あなたはまた、レベル2に飛び乗っすることができます。カエルはどのように多くのジャンプ(別の計算異なる結果の順序)は、n級レベルの合計を求めて飛び込みました。

n個のステップ:最初のステップジャンプ、N-1個の残り;左一次ジャンプ2、N-2注文を

結果F(N)F(N-1)= + F(N-2)

N = 1、F(1)= 1

N = 2、F(2)= 2

 公共 INT JumpFloor(int型N){
           場合(N == 1)リターン 1 もし(N == 2)リターン 2 戻り JumpFloor(N-1)+ JumpFloor(N-2 )。
    }

 

トピック3:

カエルは、クラス1レベルにジャンプすることができます。また、レベル2に飛び乗っすることができます...... nはまた、ステージの上にジャンプすることができます。

カエルはどのように多くのジャンプのn級レベルの合計を求めて飛び込みました。

同様に:

F(N)= F(N-1)+ ... + F(0)

F(N-1)= F(N-2)+ ... + F(0)

F(N)-f(N-1)= F(N-1)

F(N)= 2 * F(N-1)

公共 INT JumpFloorII(INT {ターゲット)
         場合(目標<= 0 ){
             戻り -1 
        } そう であれば(ターゲット== 1 ){
             返す 1 
        } {
             リターン 2 * JumpFloorII(ターゲット- 1 )。
        } 
    }

 トピック4:

私たちは、大きな長方形をカバーするために横または縦に小さな長方形の2 * 1を使用することができます。

なしnは2 * 1カバレッジの小さな長方形は、大きな長方形の2 * nを、どのように多くの方法の合計を重複しますか?

アパラチアフィボナッチ数に行っまだ(アパラチアは、フィボナッチ数を検討し注1、2参照)が推奨されます

公共 INT RectCover(INT ターゲット){
         場合(目標<= 0 ){
             戻り 0 
        } そう であれば(目標<= 2 ){
             戻りターゲット; 
        } {
             戻り RectCover(ターゲット-1)+ RectCover(ターゲット-2 ); 
        } 
       
    }

 

おすすめ

転載: www.cnblogs.com/kobe24vs23/p/11334881.html