A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© treecolor166 中级黑马   /  2014-1-2 22:36  /  1283 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少最好写清楚思路和步骤 用递归如何去实现

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 桃子我没有,技术到是有几个~加油同学!.

查看全部评分

3 个回复

倒序浏览
public int fun (int n)
{
if(n==1)
return 1;
fun(n-1)=fun(n)/2-1;
}
回复 使用道具 举报
package com.itheima;

public class GetPeach {
     * @param args
      * @param numOfDays 总天数
      * @return 第一天总共摘的桃子数
      */
     public static void main(String[] args) {
         // TODO Auto-generated method stub
           GetPeach getPeach = new GetPeach();
            int num = getPeach.getNumOfPeachFirstDay(10);
            System.out.println(" 猴子第一天一共摘下了"+num+"个桃子");
     }
     
      public int getNumOfPeachFirstDay(int numOfDays) {
             if (numOfDays < 1) {
                 throw new RuntimeException("NumOfDays must more than zero!");
             }
             if (numOfDays == 1) {
                 return 1;
             }
             //第numOfDays-1的桃子数
             int num =getNumOfPeachFirstDay(numOfDays - 1);
             return ( num+ 1) * 2;
         }

}

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马