鱼C论坛

 找回密码
 立即注册
查看: 2390|回复: 8

[已解决]换酒问题,代码有些小问题,求友友指点一下

[复制链接]
发表于 2023-3-19 12:37:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
        // * 换酒规则:3个空瓶换一瓶酒,5个瓶盖也可以换一瓶酒
        //* 现有7瓶酒(没喝呢,带瓶带盖)计算一共可以依靠规则喝多少瓶
int main(){
                int liquor=7;//酒
                int bottle=7;//酒瓶3个一换
            int lid=7;//酒盖5个一换
            int wine_1,wine_2;
            int bottle_1,lid_1;

        while(liquor>0){
                bottle/3==wine_1;//酒瓶3个一换,换了几瓶酒
                bottle%3==bottle_1;//剩余的酒瓶
                lid/5==wine_2;//酒盖5个一换,换了几瓶酒
                lid%5==lid_1;//剩余的酒盖
                liquor=wine_1+wine_2;//全部酒盖
                printf("现在有%d瓶酒\n",liquor);
                bottle=liquor+bottle_1;//全部的酒瓶
                printf("现在有%d瓶酒瓶\n",bottle);
                lid=liquor+lid_1; //全部的酒
                printf("现在有%d个酒盖\n",lid);
        }
       
        return 0;
}
最佳答案
2023-3-19 14:03:08
本帖最后由 傻眼貓咪 于 2023-3-19 14:04 编辑

我用 Python 写,因为看起来比较简约,容易看
Python
  1. # 开始有:7个酒瓶、7个瓶盖、7支酒
  2. bottles = 7
  3. caps = 7
  4. wine = 7

  5. while bottles >= 3 or caps >= 5:
  6.     new = bottles // 3 # 用酒瓶兑换新的酒
  7.     wine += new # 累加计算共多少支酒
  8.     bottles %= 3 # 已经兑换了空酒瓶,计算出剩下的

  9.     # 凡是兑换新的酒,酒瓶和瓶盖增加
  10.     bottles += new
  11.     caps += new

  12.     # 瓶盖如上面的算法一样
  13.     new = caps // 5
  14.     wine += new
  15.     caps %= 5

  16.     # 凡是兑换新的酒,酒瓶和瓶盖增加
  17.     bottles += new
  18.     caps += new

  19. print(wine)
复制代码
输出
  1. 13
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-3-19 14:03:08 | 显示全部楼层    本楼为最佳答案   
本帖最后由 傻眼貓咪 于 2023-3-19 14:04 编辑

我用 Python 写,因为看起来比较简约,容易看
Python
  1. # 开始有:7个酒瓶、7个瓶盖、7支酒
  2. bottles = 7
  3. caps = 7
  4. wine = 7

  5. while bottles >= 3 or caps >= 5:
  6.     new = bottles // 3 # 用酒瓶兑换新的酒
  7.     wine += new # 累加计算共多少支酒
  8.     bottles %= 3 # 已经兑换了空酒瓶,计算出剩下的

  9.     # 凡是兑换新的酒,酒瓶和瓶盖增加
  10.     bottles += new
  11.     caps += new

  12.     # 瓶盖如上面的算法一样
  13.     new = caps // 5
  14.     wine += new
  15.     caps %= 5

  16.     # 凡是兑换新的酒,酒瓶和瓶盖增加
  17.     bottles += new
  18.     caps += new

  19. print(wine)
复制代码
输出
  1. 13
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-19 14:35:31 | 显示全部楼层
写的不太清楚,我能自己写一个
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-19 18:45:21 | 显示全部楼层
傻眼貓咪 发表于 2023-3-19 14:03
我用 Python 写,因为看起来比较简约,容易看
Python
输出

哇哇哇,你好厉害
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-19 19:54:21 | 显示全部楼层
C实现,可指定初始瓶数,兑换规则
  1. #include <stdio.h>
  2. int main()
  3. {
  4.         int full,bottle=0,lid=0,bchange,lchange,count=0;
  5.         scanf("%d%d%d",&full,&bchange,&lchange);
  6.         while(1)
  7.         {
  8.                 if(!full)
  9.                 {
  10.                         printf("%d\n",count);
  11.                         return 0;
  12.                 }
  13.                 count+=full;
  14.                 bottle=full;
  15.                 lid=full;
  16.                 full=0;
  17.                 full+=bottle/bchange;
  18.                 bottle%=bchange;
  19.                 full+=lid/lchange;
  20.                 lid%=lchange;
  21.                 if(lid==lchange-1)
  22.                 {
  23.                         full+=1;
  24.                         lid=0;
  25.                 }
  26.                 if(bottle==bchange-1)
  27.                 {
  28.                         full+=1;
  29.                         bottle=0;
  30.                 }
  31.         }
  32. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-19 20:16:24 | 显示全部楼层
额外减小 发表于 2023-3-19 19:54
C实现,可指定初始瓶数,兑换规则

能加一下注释吗,有点不理解各个词代表的含义
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-19 20:43:08 | 显示全部楼层
啊这啧啧啧 发表于 2023-3-19 20:16
能加一下注释吗,有点不理解各个词代表的含义

噢。我好像写错了,我再看看
大致就是bottle:空瓶
full:满的酒的瓶数
lid:盖
count:喝了多少瓶
好像写错了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-19 21:32:22 From FishC Mobile | 显示全部楼层
额外减小 发表于 2023-3-19 20:43
噢。我好像写错了,我再看看
大致就是bottle:空瓶
full:满的酒的瓶数

没事没事,慢慢来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-19 22:20:18 | 显示全部楼层

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-22 18:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表