11877 The Coco-Cola Store 解题心得

---恢复内容开始---

11877 The Coco-Cola Store


Once upon a time, there is a special coco-cola store. If you return three empty bottles to the shop,
you’ll get a full bottle of coco-cola to drink. If you have n empty bottles right in your hand, how many
full bottles of coco-cola can you drink?
Input


There will be at most 10 test cases, each containing a single line with an integer n (1 ≤ n ≤ 100). The
input terminates with n = 0, which should not be processed.
Output


For each test case, print the number of full bottles of coco-cola that you can drink.
Spoiler
Let me tell you how to drink 5 full bottles with 10 empty bottles: get 3 full bottles with 9 empty
bottles, drink them to get 3 empty bottles, and again get a full bottle from them. Now you have 2
empty bottles. Borrow another empty bottle from the shop, then get another full bottle. Drink it, and
finally return this empty bottle to the shop!
Sample Input


3
10
81
0
Sample Output
1
5
40

分析 :水题,顺着逻辑模拟过程就可以了

直接上代码

#include<iostream>
#include<cstdio>
using namespace std;


int main()
{
    int n;
    while (cin >> n&&n!= 0){
        int remain = n;
        int drink = 0;
        while (1){
            if (remain >= 3){
                drink += remain / 3;
                remain = remain % 3 + remain / 3;
            }
            if (remain == 2){
                drink++;
                remain = 0;
            }
            if (remain == 0 || remain == 1){ break; }
        }
        cout << drink << endl;    
    }


    return 0;
}
View Code
原文地址:https://www.cnblogs.com/shawn-ji/p/4656913.html