zoukankan      html  css  js  c++  java
  • 喝汽水问题

        /**
         * 共有1000瓶汽水,没喝完一瓶得到一个空瓶子,每3个空瓶子又能换1瓶汽水,喝掉以后又得到一个空瓶子,问总共能喝多少瓶汽水,最后还剩余多少个空瓶子
         */
        public static void drink(){
            int num = 1000, empty = 0, total = 0;
            while(num > 0){
                num --;//喝掉一瓶汽水,那么喝掉的汽水总数又多1,此时空瓶数又多1,需要判断空瓶数是否整除3,若是则又可以兑换1瓶汽水,空瓶数为0,如此递归,直到汽水数为0
                total ++;
                empty ++;
                if(empty % 3 == 0){
                    num ++;
                    empty = 0;
                }
            }
            System.out.println(String.format("total=%d, empty=%d", total, empty));
        }
        
        public static void drink2(){
            int num = 1000, empty = 0, total = 0;
            while(num > 0){
                System.out.println(String.format("total=%d, empty=%d", num, empty));
                total += num;//直接将剩余的所有汽水喝掉,那么喝掉的汽水总数就增加了刚喝掉的num,此时空瓶数则为刚喝掉的汽水数num,而此时的空瓶又可以兑换empty/3瓶汽水,并且剩余的空瓶数为兑换前空瓶总数-兑换的汽水数*3,如此递归,直到汽水数为0
                empty += num;
                num = empty / 3;
                empty = empty - num * 3;
            }
            System.out.println(String.format("total=%d, empty=%d", total, empty));
        }
    1)喝掉1000瓶,剩余0瓶
    1000
    0
    
    2)、上次有空瓶1000个,可兑换333瓶汽水,故本次可以喝掉333瓶,剩余1个空瓶
    333
    1
    
    3)、上次有空瓶333+1个,可兑换111瓶汽水,故本次可以喝掉111瓶,剩余1个空瓶
    111
    1
    
    4)、上次有空瓶111+1个,可兑换37瓶汽水,故本次可以喝掉37瓶,剩余1个空瓶
    37
    1
    
    5)、上次有空瓶37+1个,可兑换12瓶汽水,故本次可以喝掉12瓶汽水,剩余2个空瓶
    12
    2
    
    6)、上次有空瓶12+2个,可兑换4瓶汽水,故本次可以喝掉4瓶汽水,剩余2个空瓶
    4
    2
    
    7)、上次有空瓶4+2个,可兑换2瓶汽水,故本次可以喝掉2瓶汽水,剩余0个空瓶
    2
    0
    
    8)、上次有空瓶2个,已无法兑换,本次结束

    参考资料:

    http://www.cnblogs.com/flyinghearts/archive/2011/09/23/2186593.html

  • 相关阅读:
    iOS 测试
    runtime 大牛必备
    集成微信支付
    webview的使用以及js调用OC传参
    ScrollView的坑
    iOS 字符串 数组 字典 操作!
    Git的使用场景
    什么是Runloop?
    Cannot subclass final class class com.sun.proxy.$Proxy16
    <%@page include%>、<%@include%>、<jsp:include>三者之间的本质区别
  • 原文地址:https://www.cnblogs.com/xiaoxian1369/p/5556890.html
Copyright © 2011-2022 走看看