The Coco-Cola Store

题目链接:http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=23309

题目大意:

      用3个空可乐瓶可以换取一瓶满的可乐,设拥有n(1<=n<=100)个空可乐瓶,求最多能喝到多少瓶可乐

      需要注意的是,假设拥有10个空瓶,先换3瓶可乐,喝完后拥有4个空瓶,再换取1瓶,喝完后有2个空瓶,这时可以借一个空瓶,用此时的3个空瓶换一瓶可乐,喝完归还瓶子,这样,10个空瓶可以喝到5瓶可乐。

      举例:

                  Sample Input
       3
       10
       81
       0
                 Sample Output
       1
       5
       40
题目分析:
   根据提示剩2个空瓶可以继续换得一瓶可乐,可以采用条件判别语句(while,if等),当空瓶数大于1时可以继续兑换,此时又要分两种情况讨论,空瓶数是否等于2,若是,则换取一瓶可乐后结束条件判别,否则继续。
   
源代码:
 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int n,k,count;
 6     while(cin>>n&&n)
 7     {   count=0;
 8         k=0;
 9         while(n>1)
10         {   if(n==2)//瓶子剩2个可借1饮1还1
11         {    ++count;
12              break;
13         }
14             k=n/3;
15             count+=k;//计算可换取的瓶子数
16             n=n-2*k;//计算兑换后剩下的空瓶数
17         }
18     cout<<count<<endl;
19     }
20     return 0;
21 }
原文地址:https://www.cnblogs.com/huaszjh/p/4655806.html