博客
关于我
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/

    你可能感兴趣的文章
    Object.create
    查看>>
    Object.defineProperty详解
    查看>>
    Object.keys()的详解和用法
    查看>>
    objectForKey与valueForKey在NSDictionary中的差异
    查看>>
    Objective - C 小谈:消息机制的原理与使用
    查看>>
    OBJECTIVE C (XCODE) 绘图功能简介(转载)
    查看>>
    Objective-C ---JSON 解析 和 KVC
    查看>>
    Objective-C 编码规范
    查看>>
    Objective-Cfor循环实现Factorial阶乘算法 (附完整源码)
    查看>>
    Objective-C——判断对象等同性
    查看>>
    objective-c中的内存管理
    查看>>
    Objective-C之成魔之路【7-类、对象和方法】
    查看>>
    Objective-C享元模式(Flyweight)
    查看>>
    Objective-C以递归的方式实现二叉搜索树算法(附完整源码)
    查看>>
    Objective-C内存管理教程和原理剖析(三)
    查看>>
    Objective-C实现 Greedy Best First Search最佳优先搜索算法(附完整源码)
    查看>>
    Objective-C实现 jugglerSequence杂耍者序列算法 (附完整源码)
    查看>>
    Objective-C实现 lattice path格子路径算法(附完整源码)
    查看>>
    Objective-C实现1000 位斐波那契数算法(附完整源码)
    查看>>
    Objective-C实现2 个数字之间的算术几何平均值算法(附完整源码)
    查看>>