変態ジャンプ階段:安全性を証明するために、

タイトル説明

カエルは、クラス1レベルにジャンプすることができます。また、レベル2に飛び乗っすることができます...... nはまた、ステージの上にジャンプすることができます。カエルはどのように多くのジャンプのn級レベルの合計を求めて飛び込みました。
 
 

アイデア:

n番目のジャンプ提供されるこの問題に関するn次のレベルが存在します。次のように:

F(1)= 1

F(2)F(2-1)+ F(2-2)// F(2-2)=は、2次の周波数ホッピング2順序を表します。

F(3)= F(3-1)+ F(3-2)+ F(3-3) 

...

F(N)= F(N-1)+ F(N-2)+ F(N-3)+ ... + F(N-(N-1))+ F(NN) 

 

説明: 

1)ここで、f(n)はn番目の時間ステップを表す有する1,2、...ホップカウント方式の次数n番目。

2)N = 1、ジャンプの一種類で、f(1)= 1

(2)F(2-1)+ F(2-2)= F 3)は、n = 2、問題(1)に戻り2つのジャンプモード、一次または二次、が存在するであろう 

4)は、n = 3、ジャンプモードの三種類があるだろう、一次、二次、三次、

    その背もたれ1のうち第一段階:F(3-1)一次の2、残りF(3-2); 3一次、残りF(3-3)

    それが結論されたこと(3)F(3-1)+ F(3-2)+ F(3-3)= F

5)N = N場合、Nよう、ホップがあり、一次、二次... N順序は、結論:

    F(N) = F(N-1)+ F(N-2)+ ... + F(N-(N-1))+ F(NN)=> F(0)+ F(1)+ F(2)+ F(3)+ ... + F(n-1)と

    

6)上記のことから、すでに結論ですが、簡単にするために、我々は簡単にするために続けることができます。

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

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

    これは、描画することができます。

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

    

7)ステップn次、1、2、...第n次モードでの決定的な結論、ジャンプ、ジャンプ方法が何らかの形です。

              | 1、(N = 0) 

F(N)= | 1、(N = 1)

              | 2 * F(N-1)、(N> = 2)
パブリック クラスソリューション{
     公共 のint JumpFloorII(INT ターゲット){
         場合(目標<= 0 ){
             戻り -1 
        } そう であれば(ターゲット== 1 ){
             返す 1 
        } {
             リターン 2 * JumpFloorII(ターゲット- 1 )。
        } 
    } 
}

 

 
 
 
 もう一つの方法
パブリック クラスソリューション{
     公共 のint JumpFloorII(INT ターゲット){
         int型 jumpFlo = 1 一方、(!= 0 --target 
        { 
            jumpFlo * = 2 ; 
        } 
        戻りjumpFlo。
    } 
}

 

その後、別の方法

パブリック クラスソリューション{
     公共 のint JumpFloorII(INT ターゲット){
          リターン   1 << - ターゲット。
    } 
}

 1 2を乗じ残され、左標的-1ビットに基づいて1〜2 ^(ターゲット-1)が乗算されます

 
 
 
 
 
 
 
 
 
 

おすすめ

転載: www.cnblogs.com/lisen10/p/11579083.html