博客
关于我
C语言经典题型——喝汽水问题
阅读量:520 次
发布时间:2019-03-08

本文共 611 字,大约阅读时间需要 2 分钟。

喝汽水的问题可以通过循环处理空瓶数量来解决。以下是详细的步骤说明:

  • 初始化变量

    • 总瓶数 total 初始化为0。
    • 空瓶数 bottles 初始化为20(因为20元可以喝20瓶)。
  • 进入循环

    • 当空瓶数大于1时,继续循环。
  • 处理循环内的逻辑

    • 将空瓶数除以2,向下取整,得到可以换取的新瓶数,并将其加到总瓶数中。
    • 更新空瓶数:将当前空瓶数除以2,得到一半的空瓶,以及当前空瓶数的余数。如果余数为1,则余数部分变成一个空瓶。
  • 循环结束条件

    • 当空瓶数小于等于1时,退出循环。
  • 输出结果

    • 打印总共喝了多少瓶汽水。
  • 通过以上步骤,我们可以准确计算出20元可以喝到多少瓶汽水。让我们模拟一下这个过程:

    • 初始:总瓶数=0,空瓶数=20
    • 第一次循环:
      • 总瓶数 +=20/2=10 → 总瓶数=10
      • 空瓶数=(20/2)+(20%2)=10+0=10
    • 第二次循环:
      • 总瓶数 +=10/2=5 → 总瓶数=15
      • 空瓶数=(10/2)+(10%2)=5+0=5
    • 第三次循环:
      • 总瓶数 +=5/2=2 → 总瓶数=17
      • 空瓶数=(5/2)+(5%2)=2+1=3
    • 第四次循环:
      • 总瓶数 +=3/2=1 → 总瓶数=18
      • 空瓶数=(3/2)+(3%2)=1+1=2
    • 第五次循环:
      • 总瓶数 +=2/2=1 → 总瓶数=19
      • 空瓶数=(2/2)+(2%2)=1+0=1

    此时,空瓶数=1,退出循环,总共喝了19瓶汽水。

    答案:你可以喝19瓶汽水。

    转载地址:http://taanz.baihongyu.com/

    你可能感兴趣的文章
    POJ-Fence Repair 哈夫曼树
    查看>>
    poj1061 - 同余方程,二元一次不定方程
    查看>>
    Qt笔记——SQLite再探
    查看>>
    poj1068Parencodings
    查看>>
    poj1182(带权并查集)
    查看>>
    POJ1182(带权并查集)
    查看>>
    Qt笔记——Qt初探、PyQt5和Qt5
    查看>>
    poj1190生日蛋糕
    查看>>
    POJ1218 HDU1337 ZOJ1350 UVALive2557 THE DRUNK JAILER
    查看>>
    poj1222 EXTENDED LIGHTS OUT(gauss)
    查看>>
    POJ1240 m叉树
    查看>>
    Poj1328--Radar Installation(区间选点)
    查看>>
    POJ1384Piggy-Bank(DP)
    查看>>
    POJ1417 True Liars —— 并查集 + DP
    查看>>
    Poj1459 Power Network 预流推进
    查看>>
    POJ1502(MPI Maelstrom)
    查看>>
    poj1568 Find the Winning Move[极大极小搜索+alpha-beta剪枝]
    查看>>
    poj1730 - Perfect Pth Powers(完全平方数)(水题)
    查看>>
    poj1753——Flip Game
    查看>>
    poj1936 假期计划第一水
    查看>>