1.题目:
2.分析:
【1】对输入输出测试案例分析:样例2的解释别看,稍微有点干扰性,这里的数据3 10 81是空瓶n的个数,下面那个1是因为3/3==1,那个5是因为10可以分成9和1,9/3==3(这里喝了3瓶,又剩下3个空瓶),喝完的3个空瓶加上9和1的”1“=4,4/3=1余2,剩下2个空瓶可以借一个空瓶正好换1瓶,所以一共是3+1+1=5瓶。
【2】我的代码(仅供参考):
#include <stdio.h>
int main() {
int n;
//把n>=1的条件换成n!=0
while (scanf("%d", &n) != EOF && n!=0&&n<=100) {
int drink = 0, temp = 0;
//3空瓶以上
while (n >= 3) {
drink =drink+ n / 3;
temp = n % 3;
n = n / 3 + temp;
}
//只有2空瓶,借1瓶
if (n == 2) {
drink =drink+ 1;
}
printf("%d\n", drink);
}
return 0;
}