黑马程序员技术交流社区

标题: 小题目 [打印本页]

作者: 月夜之鬼魅    时间: 2013-10-23 20:22
标题: 小题目
本帖最后由 月夜之鬼魅 于 2013-10-26 18:56 编辑

小明每天有20元零花钱,但每天用掉一半,到星期天拿到钱后就把所有的零花钱拿出来用掉一半。从星期一算起,第几天能存够150元钱?
纯属娱乐!!

作者: ☆╰學不会☆╮    时间: 2013-10-23 20:26
public class Demo {
        public void ff(){
                int x,y,z;
                x=20/2;
                y=(x*7)/2;
//                100元除每周的存钱取模等于30 30再除每天存的钱就是天数
//                100元除每周的存钱等于2 2就是两周  乘以每周天数7 所以相加就是具体的天数
                z=((100%y)/x) + ((100/y)*7);
                System.out.print(z+"天才能存够100元");
        }
public static void main(String [] args){
        Demo aa=new Demo();
        aa.ff();       
}
}
作者: 月夜之鬼魅    时间: 2013-10-23 20:34
我什么时候说是100元了?
作者: 乔兵    时间: 2013-10-25 08:17
楼主你好,如果问题已解决请将帖子状态修改为提问结束,

如果未解决请继续提问,谢谢合作

修改方法请看解释帖:http://bbs.itheima.com/thread-89313-1-1.html
作者: 睡不够的猪    时间: 2013-10-25 13:15
永远存不到150元  最多140元。。。
作者: 寻丶丶觅    时间: 2013-10-25 13:48
class Test1
{
        public static void sop(Object obj)
        {
                System.out.println(obj);
    }
        public static void main(String[] args)
        {
                sop(get());
    }
        public static int get()
        {
                int x = 10,y = 1,sum = 0;
                //判断钱数是否满足,150是攒不够的
                while (sum!=100)
                {
                        //判断是否为周日
                        if(! (y%7==0))
                        {
                                sum = sum+x;
                        }
                        //周日
                        if (y%7==0)
                        {
                                sum = (sum+20)/2;
                        }
                        y++;
                }
                return y;
        }
}
作者: 李文帅    时间: 2013-10-25 15:31
首先150元是永远攒不到的,所以希望楼主重新换个数,下面是以120元为例写的代码
  1. public class Asd {
  2.         public static void main(String[] args){
  3.                 double sum = 0;
  4.                 int n = 1;
  5.                 while(sum<100){
  6.                         if(n%7!=0){
  7.                                 sum = sum + 20/2;
  8.                         }else{
  9.                                 sum = (sum+20)/2;
  10.                         }
  11.                         n++;
  12.                        
  13.                 }
  14.                 System.out.println("第"+n-1+"天能攒到120元");
  15.         }

  16. }
复制代码

作者: 魏-玉-彪    时间: 2013-10-25 23:16
本帖最后由 魏-玉-彪 于 2013-10-26 00:46 编辑
  1. <p>

  2. /*
  3. 小明每天有20元零花钱,但每天用掉一半,
  4. 到星期天拿到钱后就把所有的零花钱拿出来用掉一半

  5. author: wei-yu-biao
  6. */


  7. public class Money{
  8.         public static void main (String []args){
  9.         int a=20;     //定义一个变最累计钱数
  10.         int day=0;    //计算天数
  11.         while(a<=150){
  12.                         if(day++%7==0)  //到周日就
  13.            a= a/2;   //减半
  14.           a=a+20; //否则加二十
  15.    
  16.         }
  17.         System.out.print("小明第"+day+"天才能存够150元");
  18.         
  19.         }

  20. }

  21. 第十一天就够了。
  22. </p><p> </p><p> </p>
复制代码
仔细研究后发现,如果每天花一半的话,是存不够150了,代码及运行结果如下:
  1. /*
  2. 小明每天有20元零花钱,但每天用掉一半,
  3. 到星期天拿到钱后就把所有的零花钱拿出来用掉一半

  4. author:org.xiangbalao wei-yu-biao
  5. */


  6. public class Money{
  7.         public static void main (String []args){
  8.         double a=20;
  9.         long day=1;
  10.         while(a<=150){
  11.         
  12.                         if(day++>=7&day%7==0)
  13.                                 {a= a/2;
  14.                                 System.out.println("小明第"+day+"天的钱数"+a+"\t");
  15.                                 }
  16.                                 
  17.                         else a=a+20/2;
  18.                                 System.out.print("小明第"+day+"天的钱数"+a+"\t");
  19.         
  20.         }
  21.         
  22.         System.out.print("小明第"+day+"天才能存够150元");
  23.         
  24.   
  25. }

复制代码
小明第2天的钱数30.0     小明第3天的钱数40.0     小明第4天的钱数50.0     小明第5天的钱数60.0   

小明第6天的钱数70.0     小明第7天的钱数80.0




小明第8天的钱数90.0     小明第9天的钱数100.0    小明第10天的钱数110.0   小明第11天的钱数120.0
小明第12天的钱数130.0   小明第13天的钱数140.0   小明第14天的钱数70.0


   小明第15天的钱数80.0    小明第16天的钱数90.0    小明第17
天的钱数100.0   小明第18天的钱数110.0   小明第19天的钱数120.0   小明第20天的钱数
130.0   小明第21天的钱数65.0


   
小明第22天的钱数75.0    小明第23天的钱数85.0    小明第24
天的钱数95.0    小明第25天的钱数105.0   小明第26天的钱数115.0   小明第27天的钱数
125.0   小明第28天的钱数62.5


    小明第29天的钱数72.5    小明第30天的钱数82.5    小明第31
天的钱数92.5    小明第32天的钱数102.5   小明第33天的钱数112.5   小明第34天的钱数
122.5   小明第35天的钱数61.25


  小明第36天的钱数71.25   小明第37天的钱数81.25   小明第38
天的钱数91.25   小明第39天的钱数101.25  小明第40天的钱数111.25  小明第41天的钱数
121.25  小明第42天的钱数60.625

  小明第43天的钱数70.625  小明第44天的钱数80.625  小明第45
天的钱数90.625  小明第46天的钱数100.625 小明第47天的钱数110.625 小明第48天的钱数
120.625 小明第49天的钱数60.3125


小明第50天的钱数70.3125 小明第51天的钱数80.3125 小明第52
天的钱数90.3125 小明第53天的钱数100.3125        小明第54天的钱数110.3125
小明第55天的钱数120.3125        小明第56天的钱数60.15625

       小明第57天的钱数70.15625        小明第58天的钱数
80.15625        小明第59天的钱数90.15625        小明第60天的钱数100.15625
小明第61天的钱数110.15625       小明第62天的钱数120.15625       小明第63天的钱数
60.078125


    小明第64天的钱数70.078125       小明第65天的钱数
80.078125       小明第66天的钱数90.078125       小明第67天的钱数100.078125
小明第68天的钱数110.078125      小明第69天的钱数120.078125      小明第70天的钱数
60.0390625

小明第70天的钱数60.0390625      小明第71天的钱数70.0390625      小明第72天的钱数
80.0390625      小明第73天的钱数90.0390625      小明第74天的钱数100.0390625
小明第75天的钱数110.0390625     小明第76天的钱数120.0390625     小明第77天的钱数
60.01953125
  

   小明第78天的钱数70.01953125     小明第79天的钱数
80.01953125     小明第80天的钱数90.01953125     小明第81天的钱数100.01953125
小明第82天的钱数110.01953125    小明第83天的钱数120.01953125    小明第84天的钱数
60.009765625


   小明第85天的钱数70.009765625    小明第86天的钱数
80.009765625    小明第87天的钱数90.009765625    小明第88天的钱数100.009765625
小明第89天的钱数110.009765625   小明第90天的钱数120.009765625   
小明第91天的钱数60.0048828125

小明第92天的钱数70.0048828125   小明第93天的钱数
80.0048828125   小明第94天的钱数90.0048828125   小明第95天的钱数100.0048828125
小明第96天的钱数110.0048828125  小明第97天的钱数120.0048828125  小明第98天的钱数
60.00244140625

小明第99天的钱数70.00244140625  小明第100天的钱
数80.00244140625        小明第101天的钱数90.00244140625



作者: 月夜之鬼魅    时间: 2013-10-26 18:54
魏-玉-彪 发表于 2013-10-25 23:16
仔细研究后发现,如果每天花一半的话,是存不够150了,代码及运行结果如下:小明第2天的钱数30.0     小明 ...

是的,我欣赏你!
作者: 蓝雨星空    时间: 2013-10-26 23:11
经实验,整数的话,只能存到138元,时间为56天……




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2