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 2024-五一综合模拟赛
- ¥15 下图接收小电路,谁知道原理
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭