1 条题解

  • 0
    @ 2025-10-30 13:42:53

    思路分析

    1. 任务拆解:

    • 读取初始高度h
    • 计算球第10次落地时经过的总路程
    • 计算第10次反弹的高度

    2. 关键点分析:

    • 每次落地后反弹高度为前一次的一半
    • 总路程包括下落和反弹的过程
    • 第10次落地时,经过了10次下落和9次反弹
    • 第10次反弹高度是第10次落地后反弹的高度

    3. 步骤规划:

    • 读取初始高度h
    • 初始化总路程s=0,计数器c=1
    • 循环模拟每次落地过程:
      • 累加下落高度到总路程
      • 如果是第10次落地,输出总路程并跳出循环
      • 计算反弹高度(h/2)
      • 累加反弹高度到总路程
      • 计数器加1
    • 输出第10次反弹高度(当前h的一半)

    4. 代码对应:

    • double h,s=0; cin>>h; → 读取初始高度并初始化总路程
    • int c=1; → 初始化落地次数计数器
    • while(true) → 无限循环模拟落地过程
    • s+=h; → 累加下落高度
    • if(c==10) → 判断是否第10次落地
    • cout<<s<<endl; break; → 输出总路程并跳出循环
    • h/=2.0; → 计算反弹高度
    • s+=h; → 累加反弹高度
    • c++; → 落地次数加1
    • cout<<h/2.0; → 输出第10次反弹高度
    • 1

    信息

    ID
    1702
    时间
    1000ms
    内存
    256MiB
    难度
    4
    标签
    (无)
    递交数
    411
    已通过
    197
    上传者