一、汽水瓶ios
有這樣一道智力題:「某商店規定:三個空汽水瓶能夠換一瓶汽水。小張手上有十個空汽水瓶,她最多能夠換多少瓶汽水喝?」答案是5瓶,方法以下:先用9個空瓶子換3瓶汽水,喝掉3瓶滿的,喝完之後4個空瓶子,用3個再換一瓶,喝掉這瓶滿的,這時候剩2個空瓶子。而後你讓老闆先借給你一瓶汽水,喝掉這瓶滿的,喝完之後用3個空瓶子換一瓶滿的還給老闆。若是小張手上有n個空汽水瓶,最多能夠換多少瓶汽水喝?
測試
輸入文件最多包含10組測試數據,每一個數據佔一行,僅包含一個正整數n(1<=n<=100),表示小張手上的空汽水瓶數。n=0表示輸入結束,你的程序不該當處理這一行。
spa
對於每組測試數據,輸出一行,表示最多能夠喝的汽水瓶數。若是一瓶也喝不到,輸出0。
code
#include <iostream> #include <stdio.h> #include <string.h> #include <math.h> int main() { int nInput = 0; while(scanf("%d", &nInput) != EOF) { if(0 == nInput) { break; } int nDrink = 0; int nRes = 0; int nRem = 0; while(nInput >= 3) { nRes = nInput / 3; nDrink += nRes; nRem = nInput % 3; nInput = nRes + nRem; } if(nInput == 2) { nDrink++; } printf("%d\n", nDrink); } system("pause"); return 0; }