解题思路:





注意事项:





参考代码:

#include<stdio.h>

int main()

{

    int x,i=0,a[10];

    while(scanf("%d",&x) && x!=0 && i<10){//x为0结束;不超过10组

        int num=0,d=0;    //num是喝的瓶数,d是空瓶数

        while(x>=3){        //大于3时还可以直接换

            num+=(x/3);    //直接换的瓶数

            d=x%3;            //余下的瓶数

            x/=3;                //把空瓶换成满瓶后,喝完剩下的空瓶

            x+=d;                //总共剩下的空瓶数

        }

        if(x==2)            //如果剩下2瓶,还可以喝一瓶

            num++;

        a[i]=num;

        i++;

    }

    for(int j=0;j<i;j++)

        printf("%d\n",a[j]);

    return 0;

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论