題目描述:
1瓶汽水賣1塊錢,顧客還可以用3個空汽水瓶換1瓶汽水喝。請問聰明的顧客最少可以花多少錢買到n瓶汽水喝?
說明:當顧客手中有兩個空汽水瓶的時候,如果店家剩餘1瓶以上,可以選擇先借用1瓶汽水,喝完後連同手裏先前已有的兩個空汽水瓶還給店家即可。
輸入描述:
輸入爲一個正整數n(1<=n<=100),表示可買汽水瓶數。
輸出描述:
輸出爲一個正整數,表示所花錢數。
樣例輸入:
10
樣例輸出:
7
#include<stdio.h> int main() { int n,money,drunk,bottle;//bottle:手中有汽水瓶的個數 drunk:喝到汽水的瓶數 scanf("%d",&n); for(money=1;1;money++) { bottle=money; drunk=money; while(bottle>=3) { drunk+=bottle/3; bottle=bottle/3+bottle%3; } if (bottle==2) { drunk+=1; } if (drunk==n) { break; } } printf("%d",money); return 0; }