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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HM许涛 中级黑马   /  2013-4-14 01:16  /  1480 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 HM许涛 于 2013-4-14 10:53 编辑

一个朋友发来的问题,想了蛮久没有头绪,拿出来请教一下:
有一堆苹果,你第一天吃掉一半加一个,第二天又吃掉剩下的一半加一个,到第十三天吃了剩下的最后一个苹果,问:最初有几个苹果?

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

4 个回复

倒序浏览

回帖奖励 +1

本帖最后由 段旭东 于 2013-4-14 01:42 编辑
  1. public class d1 {
  2. //有一堆苹果,你第一天吃掉一半加一个,第二天又吃掉剩下的一半加一个,到第十三天吃了剩下的最后一个苹果,问:最初有几个苹果?
  3.         public static void main(String[] args){
  4.                
  5.                 int m = 1,i;
  6.                 for(i=12;i>=1;--i)
  7.                 {
  8.                   m=(m+1)*2;
  9.                
  10.                 }
  11.                 System.out.println(m);//这是第一种方法
  12.                 System.out.println(total(1));//这是第二种方法
  13.         }
  14.         static int total(int day){
  15.                    if(day == 13){
  16.                     return 1;
  17.                    }
  18.                    else{
  19.                     return (total(day+1)+1)*2;
  20.                    }
  21.         
  22.         }
  23.         
  24. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
  1. /*
  2. 设计思路:
  3. 13----1
  4. 12---4
  5. 11---10
  6. 10---22
  7. ......
  8. */

  9. class Test2
  10. {
  11.         public static void main(String[] args)
  12.         {
  13.                 int ap = 1,count = 1;
  14.                 for (int i = 12;i>0 ;i--)
  15.                 {
  16.                         count = (count+1)*2;
  17.                 }
  18.                 System.out.println(count);
  19.         }
  20. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
  1. /*有一堆苹果,你第一天吃掉一半加一个,第二天又吃掉剩下的一半加一个,到第十三天吃了剩下的最后一个苹果,问:最初有几个苹果?*/
  2. /*思路;
  3. 1,定义一个变量天数x,遍历天数,一共吃了12天,
  4. 2,定义变量第12天苹果的个数y=4,因为第13天吃了最后一个,所以第12天剩余4个苹果。
  5. 3,定义循环语句while,即天数x大于0时执行循环。
  6. 4,定义前12天每天剩余苹果的个数。同时天数自减一天。
  7. 5,定义苹果总数count,即第1天苹果总数加1.

  8. */
  9. class  WhileCount
  10. {
  11.         public static void main(String[] args)
  12.         {        int x=12, y=4;
  13.                 while (x>0)
  14.                 {       
  15.                         y=(y+1)*2;//前12天每天剩余苹果的个数
  16.                         x--;
  17.                        
  18.                 }
  19.                 int count=y+1;//苹果总数,第1天苹果总数加1
  20.                 System.out.println(count);
  21.                
  22.                
  23.         }
  24. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

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