1 条题解
-
0
思路分析
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++;→ 落地次数加1cout<<h/2.0;→ 输出第10次反弹高度
- 1
信息
- ID
- 1702
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 411
- 已通过
- 197
- 上传者