题目描述:
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;
}