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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ↙五线谱╲ 中级黑马   /  2013-10-31 09:22  /  1730 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

小明的妈妈每天会给他20元零花钱。

        平日里,小明先花掉一半,再把一半存起来。

        每到周日,小明拿到钱后会把所有零花钱花掉一半。

        请编程计算,从周一开始,小明需要多少天才能存够100元?

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

5 个回复

倒序浏览
楼主,这个问题论坛上已经被提问了好多次了,不知道你看过没有,下面是我对这道题目的理解
1、周一到周六:每天有20元,但每天会用掉一半,也就是说每天能存20/2 = 10元
2、周末:因为小明每天都有20元,所以这天小明一共有以前存的钱加上今天的20元,所以今天能存 (以前存的钱数 + 20)/2元
代码如下:
  1. public class Asd {
  2.         public static void main(String[] args){
  3.                 double sum = 0;    //定义变量总钱数
  4.                 int n = 1;   //定义变量天数
  5.                 while(sum<120){
  6.                         if(n%7!=0){
  7.                                 sum = sum + 20/2;      //周一到周六,每天能存10元
  8.                         }else{
  9.                                 sum = (sum+20)/2;      //周日,能存本周所攒钱的一半
  10.                         }
  11.                         n++;
  12.                        
  13.                 }
  14.                 System.out.println((n-1)+"\n"+sum);
  15.         }
  16. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

回复 使用道具 举报
  1. public class Test
  2. {
  3.         public static void main(String [] args)
  4.         {
  5.                 int count = 0;//存的零花钱
  6.        
  7.                 int i = 0;//用多少天
  8.                 while (count < 100)
  9.                 {
  10.                         i++;
  11.                         if (i%7 !=0)
  12.                         {
  13.                                 count +=10;
  14.                         }
  15.                         else
  16.                         {
  17.                                 count = (count +20)/2;
  18.                                
  19.                         }
  20.                        
  21.                 }

  22.                 System.out.println("小明在" + i + "天存够100块");
  23.         }
  24. }
复制代码
直接在主函数中写了 楼主自己看一下

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

回复 使用道具 举报
为什么这种基础测试的题拿到论坛里来发?
回复 使用道具 举报
public class Test10 {

        public static void main(String[] args) {
                int day = method(1, 100);
                System.out.println(day);

        }
       
        /**
         * 参数:week表示星期几,total表示需要存入的钱
         *
         * @return 返回第一次存够total时的天数
         */
        public static int method(int week, int total){
                //day表示天数
                int day = 0;
                //sum表示小明手里的钱
                int sum = 0;
                //只要小明没有存够他需要存的钱total,就一直存下去
                while(true){
                        //小明在周一至周六的存入和开销
                        while(week < 7){
                                day++;
                                sum += 20;
                                if(total > sum){
                                        sum -= 10;
                                        week++;
                                } else
                                        return day;
                        }
                        //小明在周日的存入和开销
                        day++;
                        sum += 20;
                        if(sum < total){
                                sum = sum / 2;
                                week = 1;
                        } else
                                return day;
                }
        }

}
回复 使用道具 举报
  1. class Ling
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int i;
  6.                 double l=0.0;
  7.                 for(i=1;i<100000;i++)
  8.                         {
  9.                         if(i%7!=0)
  10.                         {
  11.                                 l=l+10;
  12.                         }
  13.         
  14.                         else
  15.                         {
  16.                                 l=(l+20)/2;
  17.                         }
  18.                         if(l>=100)
  19.                                 break;
  20.     }
  21.                 System.out.println("需要"+i+"天才能存够100");
  22.                
  23.         }
  24. }
复制代码

我的结果是13不知道对不对……
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马