The Coco-Cola Store
Time Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & %llu
Description
� 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 (
1n100). 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.
Sample Input
3 10 81 0
Sample Output
1 5 40
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!
Problemsetter: Rujia Liu, Special Thanks: Yiming Li & Sohel Hafiz
直接暴力
AC代码:
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int n,hg,now,i,sum;
while(scanf("%d",&n)&&n)
{
sum = hg = 0;
now = n;
while(now>1)
{
hg = now/3;
sum+=hg;
now = now%3;
now = now+hg;
if(now==2)
{
sum++;
now = 0;
hg = 0;
}
}
printf("%d\n",sum);
}
return 0;
}