zoukankan      html  css  js  c++  java
  • 换酒问题-----leetcode5464

     

     

     

    int numWaterBottles(int numBottles, int numExchange){
        int sum=0,a=0,a1=0;        
        //sum记录换的总的酒的个数
        //a表示每次换酒后的剩余的瓶数
    //a1表示剩余的a的和换酒后剩余的瓶数
        if(numBottles<numExchange)         //当numBottles少于numExchange时,能得到的酒就是numBottles的个数。
        {
            sum=numBottles;
        }
        if(numBottles==numExchange)        //当相等时,就在原来酒的基础上加一
        {
            sum=numBottles+1;
        }
        if(numBottles>numExchange)         //当大于时
        {
             while(numBottles!=0)
            {
                sum+=numBottles;
                a+=numBottles%numExchange;              //用空瓶数量numBottles对numExchange进行取余,得到交换后剩余的空瓶数。
                numBottles=numBottles/numExchange;      //用现有空瓶换得的酒的个数。
            }
          //计算每次取余数之后剩余空瓶数换得的酒的个数
    if(a<numExchange) { sum=sum; } else { a1=a%numExchange; //对上一步得到的剩余空瓶数就行取余数处理得到最后的酒的数量。 a=a/numExchange; if((a+a1)<numExchange) { sum=sum+a; } else { sum=sum+a+1; } } } return sum; }

     

  • 相关阅读:
    Kattis
    HDU
    回溯法理解
    算法第5章上机实践报告
    贪心算法理解
    [模板] Dijkstra(堆优化)算法求最短路 Apare_xzc
    【文件管理系统】 Apaer_xzc
    [CCF] 201403-2 窗口 Apare_xzc
    [CCF] 201412-2 Z字形扫描 Apare_xzc
    [CCF] 201503-5 最小花费 Apare_xzc
  • 原文地址:https://www.cnblogs.com/sbb-first-blog/p/13342077.html
Copyright © 2011-2022 走看看