有這樣一道智力題:「某商店規定:三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?」答案是5瓶,方法如下:先用9個空瓶子換3瓶汽水,喝掉3瓶滿的,喝完以後4個空瓶子,用3個再換一瓶,喝掉這瓶滿的,這時候剩2個空瓶子。然後你讓老闆先借給你一瓶汽水,喝掉這瓶滿的,喝完以後用3個空瓶子換一瓶滿的還給老闆。如果小張手上有n個空汽水瓶,最多可以換多少瓶汽水喝?題幹看起來有點繞,本質上其實是這個意思:輸入檔案最多包含10組測試資料,每個資料佔一行,僅包含乙個正整數n(1<=n<=100),表示小張手上的空汽水瓶數。n=0表示輸入結束,你的程式不應當處理這一行。
對於每組測試資料,輸出一行,表示最多可以喝的汽水瓶數。如果一瓶也喝不到,輸出0。12
3456
0011
223
【已知】空瓶個數為n(n≥2),則:
當n>2時,sum=sum+n/3,n=n%3+n/3;
當n=2時,sum=sum+1;
當n<2時,sum=0。
【求】sum
是不是清晰多了:)
本題的關鍵就是要意識到n是大於等於2的,以及當空瓶只剩下2個時,sum直接加一就好了。
#includeint main() else
sum += n/3;
n = n%3 + n/3;
}printf("%d\n",sum);
} scanf("%d",&n); }
return 0;
}
華為 汽水瓶
有這樣一道智力題 某商店規定 三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?答案是5瓶,方法如下 先用9個空瓶子換3瓶汽水,喝掉3瓶滿的,喝完以後4個空瓶子,用3個再換一瓶,喝掉這瓶滿的,這時候剩2個空瓶子。然後你讓老闆先借給你一瓶汽水,喝掉這瓶滿的,喝完以後用3個空...
汽水瓶遊戲
遊戲內容 某商店規定 三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,他最多可以換多少瓶汽水喝?答案是5瓶 方法如下 先用9個空瓶子換3瓶汽水,喝掉3瓶滿的,喝完以後4個空瓶子,用3個再換一瓶,喝掉這瓶滿的,這時候剩2個空瓶子。然後你讓老闆先借給你一瓶汽水,喝掉這瓶滿的,喝完以後用3個空瓶子換一...
汽水瓶問題
看之前要先把心沉下去,冷靜看完,思路一點不難,首先看下圖,以100為例,100個汽水小明喝到了100瓶,剩下100個瓶蓋,100瓶蓋可以換33瓶汽水,剩下1個瓶蓋,喝完33瓶汽水剩下33 1個瓶蓋於是會發現有這樣的狀態轉移圖。所以不妨定義四個變數,a,b,c,d分別代表喝到的飲料,喝完這波飲料剩的瓶...