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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈延真 中级黑马   /  2013-5-26 21:45  /  1008 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
class Demo{
            public static void main(String[] args){
                          int m = 1;
                  for(int i=10;i>0;i--)
          m = 2*m + 2;
                  System.out.println("小猴子共摘了"+m+"桃子");
           }
}

1 个回复

倒序浏览
你应该是多算了一天,第一天吃了一半零一个,以后以此类推,到第十天的时候发现只剩1个了,所以是吃了9次。
代码中把i的初始值改成9就正确了
  1. class Demo{
  2.             public static void main(String[] args){
  3.                           int m = 1;
  4.                   for(int i=9;i>0;i--)
  5.           m = 2*m + 2;
  6.                   System.out.println("小猴子共摘了"+m+"桃子");
  7.            }
  8. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马