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

    你可能感兴趣的文章
    ORA-00923: 未找到要求的 FROM 关键字
    查看>>
    ORA-00932: inconsistent datatypes: expected - got NCLOB【ORA-00932: 数据类型不一致: 应为 -, 但却获得 NCLOB 】【解决办法】
    查看>>
    ORA-00942 表或视图不存在
    查看>>
    ORA-01034: ORACLE not available
    查看>>
    ORA-01152: 文件 1 没有从过旧的备份中还原
    查看>>
    ORA-01207:文件比控制文件更新 - 旧的控制文件
    查看>>
    ORA-01795: 列表中的最大表达式数为 1000
    查看>>
    ORA-06575: 程序包或函数 NO_VM_DROP_PROC 处于无效状态
    查看>>
    ORA-08102的错误
    查看>>
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor异常
    查看>>
    ORA-12514: TNS:listener does not currently know of service问题原因
    查看>>
    ora-12541:tns:no listener
    查看>>
    【docker知识】联合文件系统(unionFS)原理
    查看>>
    ORACEL学习--理解over()函数
    查看>>
    ORAchk-数据库健康检查
    查看>>
    oracle 10g crs命令,Oracle 10g CRS安装问题解决一例
    查看>>
    Oracle 10g ORA-01034: ORACLE not available 错误
    查看>>
    oracle 10g的安装配置
    查看>>
    Oracle 11.2.0.4 x64 RAC修改public/private/vip/scan地址
    查看>>
    Oracle 11G INDEX FULL SCAN 和 INDEX FAST FULL SCAN 对比分析
    查看>>