Problem Description
source:https://uva.onlinejudge.org/external/118/11877.html
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
source:https://uva.onlinejudge.org/external/118/11877.html
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
Solution:
#include<stdio.h>
int main()
{
int n, get;
while(scanf("%d",&n)==1)
{
if(n==0)
break;
get=0;
while(n>=3)
{
/* get+=n/3;
n=n/3+n%3;*/
n=(n-3)+1;
get+=1;
}
if(n==2)
get+=1;
printf("%d\n",get);
}
return 0;
}
No comments:
Post a Comment
Write your comment - Share Knowledge and Experience