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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. /*
  2. *  小明的妈妈每天会给他20元零花钱。
  3. *  平日里,小明先花掉一半,再把一半存起来。
  4. *  每到周日,小明拿到钱后会把所有零花钱花掉一半。
  5. *  请编程计算,从周一开始,小明需要多少天才能存够100元?
  6. *  */
  7. public class Test10 {

  8.         public static void main(String[] args) {
  9.                 int days = 0;
  10.                 int sum = 0;
  11.                 while(sum <=100){
  12.                 sum = sum+10; //每天存一半
  13.                 days++;
  14.                 if (days%7 == 0) //如果是星期日
  15.                 {
  16.                     sum = (sum+10)/2; //sum 加上十元  再花掉一半
  17.                 }
  18.                 System.out.println("第"+days+"天金额为"+sum);
  19.                 
  20.                   }
  21.                 System.out.print("小明存够100元需要的天数是  "+days+"天");
  22.                 }

  23.         }
复制代码

为什么会是19,而不是13天呢

QQ截图20150829162509.png (112.64 KB, 下载次数: 3)

为什么代码输出的是19呢?

为什么代码输出的是19呢?

2 个回复

倒序浏览
如果有错的话,大家告我一下哪错了
回复 使用道具 举报
如果是星期天
sum=(sum+20)/2;   //星期天是拿到钱后(+20) 花掉一半(除以2)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马