Bootstrap

C语言实现汽水瓶

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;
}

;