码迷,mamicode.com
首页 > 其他好文 > 详细

05简单推导:猴子吃桃

时间:2018-03-10 22:04:34      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:XML   oid   org   AC   简单   rac   ssis   一半   sum   

【题目】 
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾, 
又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。 
以后每天早上都吃了前一天剩下的一半零一个。 
到第10天早上想再吃时,见只剩下一个桃子了。 
求第一天共摘了多少。

【分析】 
第10天剩余桃子数量是1 
说明猴子已经吃了9天桃子了 
后一天桃子的数量是前一天桃子数量的 

 
12?112?1


前一天桃子的数量是后一天桃子数量的(x+1)*2 
所以采用逆序倒退的方法来循环求出: 
第9天的桃子数量? 
第8天的桃子数量? 
…… 
第1天的桃子数量?

import java.util.*;
public class Lanq {


    //1534
    public static void main(String[] args) {
        solve();
    }
    public static void solve() {
        int ans=f2(1534,1);
        System.out.println(ans);
    }
    public static int f(int n)
    {
        if(n==1)return 1;
        else
            return f(n-1)*2+2;
    }
    public static int f2(int sum,int d)//1,1534
    {
        if(sum==1)return d;

        int left=(sum/2)+1;
        sum=sum-left;
        return f2(sum,d+1);

    }
}

  

05简单推导:猴子吃桃

标签:XML   oid   org   AC   简单   rac   ssis   一半   sum   

原文地址:https://www.cnblogs.com/passion-sky/p/8541713.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!