4条回答 默认 最新
- 笨鸟快飞呀 2021-11-12 12:53关注
帅哥,你的答案是不是有点缺陷呢,k++ 而不是k+=n 吧,我的思路如下
我来解释,注释比较清晰,还希望采纳,感谢#include <stdio.h> int main(void) { int n = 2; // 初始瓶数,有水的瓶子 int k = 0; // 空瓶数量 int s = 0; // 一共喝了多少瓶 int g = 0; // 瓶盖数量 printf("Total %d \n", n); while(n > 0){ s ++; // 只要有水,就喝 k ++; // 每次喝完一个,空瓶加1 g ++; // 每次喝完一个,瓶盖加1 n --; // 每次喝完一个,有水的瓶子减一 n += k / 2 + g / 4; // k/2 只有k=2的时候,n才加1,k=1的时候,k/2=0,所以不影响n的数量,g同理 k = k % 2; // 取余,k=1 的时候,k%2=1; k=2的时候,由于可以换新的可乐了,因此k=2/2=0,没有空瓶了 g = g % 4; // 取余,道理同k } printf("一共喝了 %d 瓶", s); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报 编辑记录无用 1
悬赏问题
- ¥15 winform的chart曲线生成时有凸起
- ¥15 msix packaging tool打包问题
- ¥15 finalshell节点的搭建代码和那个端口代码教程
- ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
- ¥15 Centos / PETSc / PETGEM
- ¥15 centos7.9 IPv6端口telnet和端口监控问题
- ¥120 计算机网络的新校区组网设计
- ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
- ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
- ¥20 海浪数据 南海地区海况数据,波浪数据