程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 11877 The Coco-Cola Store,11877coco-cola

11877 The Coco-Cola Store,11877coco-cola

編輯:C++入門知識

11877 The Coco-Cola Store,11877coco-cola


       題目:    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

思路:

每次用現有的空瓶n除以3,商就是新的兌換數,余數加上商就是新的的空瓶數,如此循環到新的空瓶子數小於3時跳出循環。

如果剩下兩個空瓶,可以先借一瓶,再還空瓶。

 

#include <iostream>
using namespace std;
int main()
{
int n,i,j,x,y,sum;
cin>>n;
while(n!=0)
{
sum=0;
while(n>=3)
{
x=n%3;
y=n/3;
sum=sum+y;
n=y+x;
}
if(n==2)
sum++;
cout<<sum<<endl;
cin>>n;
}
return 0;
}

  

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved