サルの桃盗み問題

697 ワード

タイトル
サルが山の桃の木の下に来て、桃の山を見つけた.初日に1つ食べて、半分持って行って、家に帰って、2番目のサルにニュースを伝えました.次の日、二番目のサルも来て、また一つ食べて、半分持って行って、家に帰って、三番目のサルに伝えました.3番目のサルも1つ食べて、半分持って行きました.このように、10日目、10番目のサルが来たとき、桃が1つ残っていることがわかりました.初日に全部で何個の桃がありますか?
ぶんせき
         ,n1,n2,n3,n4,n5......n10   n      
        
1 : 2*n2+1
2 : 2*n3+1
3 : 2*n4+1
4 : 2*n5+1
5 : 2*n6+1
6 : 2*n7+1
7 : 2*n8+1
8 : 2*n9+1
9 : 2*n10+1
10 :  1

式を導出します.
f(10)  =  1
f(n)  =  2 * f(n+1) + 1,n    [1, 10)

コアコードは次のとおりです.
  public static int stealPeach(int n){
        if (n == 10) {
            return 1;
        } else {
            return  2 * stealPeach(n+1) + 1;
        }
    }