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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邓飞飞 中级黑马   /  2012-5-7 15:23  /  2234 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

4 个回复

正序浏览
虽然递归效率低,但是这题用递归做,更容易理解。
  1. class Peaches
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int n=1;
  6.                 System.out.println(total(1));
  7.         }
  8.         private static int total(int n)
  9.         {
  10.                 if(n==10)
  11.                         return 1;
  12.                 else
  13.                         return (total(n+1)+1)*2;
  14.         }
  15. }
复制代码
回复 使用道具 举报
ACM的基础题   嗯。。。。大一的时候用c++做了
回复 使用道具 举报
猴子第一天摘了 1534 个桃子,真的趣味顶!
回复 使用道具 举报
呵呵 很早以前就做过了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马