zoukankan      html  css  js  c++  java
  • 《牛客网》——华为机试在线训练——汽水瓶

    1、汽水瓶

    题目描述

    有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?

    输入描述:

    输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=100),表示小张手上的空汽水瓶数。n=0表示输入结束,你的程序不应当处理这一行。

    输出描述:

    对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。如果一瓶也喝不到,输出0。

    示例1

    输入

    复制
    3
    10
    81
    0
    

    输出

    复制
    1
    5
    40
    
    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    
    int main()
    {
        int nInput = 0;
        while(scanf("%d", &nInput) != EOF)
        {
            if(0 == nInput)
            {
                break;
            }
            int nDrink = 0;
            int nRes = 0;
            int nRem = 0;
    
            while(nInput >= 3)
            {
                
                nRes = nInput / 3;
                nDrink += nRes;
                nRem = nInput % 3;
                nInput = nRes + nRem;
            }
    
            if(nInput == 2)
            {
                nDrink++;
            }
            
            printf("%d
    ", nDrink);
        }
        system("pause");
        return 0;
    }
  • 相关阅读:
    hiho#1445 重复旋律5 求子串数量 后缀自动机
    SPOJ LCS2 后缀自动机
    SPOJ-LCS 后缀自动机
    bzoj 3261 最大异或和 可持久化字典树(01树)
    【洛谷1297】单选错位
    【HAOI2008】木棍分割
    【SDOI2016】排列计数
    【HAOI2008】下落的圆盘
    【HAOI2008】硬币购物
    【洛谷5520】青原樱
  • 原文地址:https://www.cnblogs.com/predator-wang/p/11865220.html
Copyright © 2011-2022 走看看