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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

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

  23.         }
复制代码

4 个回复

倒序浏览
zzq18217362451 来自手机 中级黑马 2015-8-29 15:17:51
沙发
这个程序应该写错了,应该是sum=(sum+20)/2;
回复 使用道具 举报 1 0
zzq18217362451 来自手机 中级黑马 2015-8-29 15:19:02
藤椅
是13天,不是19天
回复 使用道具 举报
zzq18217362451 发表于 2015-8-29 15:17
这个程序应该写错了,应该是sum=(sum+20)/2;

我的思路是:从星期一到星期日都加10元,days++后,判断days为7的整数时(也就是星期日),再把星期日剩余的10元加上(之前已加10元),最后进行sum=(sum+10)/2;

点评

你这样的话就等于把星期天的20元花了2次,一次10元,另一次剩下的10元又花了一次,多花了5元,所以代码应该是sum=(sum/2)+10;  发表于 2015-8-30 06:29
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马