信息学奥赛一本通 1085:球弹跳高度的计算 | OpenJudge NOI 1.5 20
【题目链接】
ybt 1085:球弹跳高度的计算
OpenJudge NOI 1.5 20:球弹跳高度的计算
【题目考点】
1. 循环
【解题思路】
1. 使用循环描述球的弹跳过程
2. 数学计算
分析各次落地前弹跳的距离
设球的初始高度是hhh
- 第1次下落hhh,第1次落地,第1次反弹h2\frac{h}{2}2h
- 第2次下落h2\frac{h}{2}2h,第2次落地,第2次反弹h4\frac{h}{4}4h
- 第3次下落h4\frac{h}{4}4h,第3次落地,第3次反弹h8\frac{h}{8}8h
… - 第i次下落h2i−1\frac{h}{2^{i-1}}2i−1h,第i次落地,第i次反弹h2i\frac{h}{2^i}2ih
第10次落地之前,共经历了10次下落,9次反弹,将下落和反弹的距离加和,设总距离为s:
s=h+h2+h2+h4+h4+...+h29+h29=h+2(h2+h4+...+h29)=h+h+h2+h4+...+h28\begin{aligned} s &= h + \frac{h}{2} +\frac{h}{2} + \frac{h}{4}+\frac{h}{4}+...+\frac{h}{2^{9}}+\frac{h}{2^{9}}\\&= h + 2(\frac{h}{2} + \frac{h}{4} + ... +\frac{h}{2^{9}}) \\ &= h + h + \frac{h}{2} + \frac{h}{4} + ... +\frac{h}{2^{8}} \end{aligned}s=h+2h+2h+4h+4h+...+29h+29h=h+2(2h+4h+...+29h)=h+h+2h+4h+...+28h - 根据等比序列加和公式:
Sn=a11−qn1−qS_n = a_1\frac{1-q^n}{1-q}Sn=a11−q1−qn
可以得到
s=h(1+1+12+14+...+128)=h(1+1−(12)91−12)=h(3−128)\begin{aligned} s &= h(1 + 1 + \frac{1}{2} + \frac{1}{4} + ... +\frac{1}{2^{8}}) \\ &=h(1 + \frac{1-(\frac{1}{2})^9}{1-\frac{1}{2}})\\ &= h(3 - \frac{1}{2^8}) \end{aligned}s=h(1+1+21+41+...+281)=h(1+1−211−(21)9)=h(3−281) - 根据规律可知,第10次反弹的距离为:h210\frac{h}{2^{10}}210h
【题解代码】
解法1:使用循环描述球的运行过程
#include <bits/stdc++.h>
using namespace std;
int main()
{double h;//弹跳高度cin>>h;double sum = h;//sum:总距离,初始值设为h,即第一次下落的距离为hfor(int i = 2; i <= 10; ++i)//i表示第几次落地{h /= 2;//落地后弹跳高度变为原来的一半。h在运算后表示第i-1次落地后弹起的高度,也就是第i次下落的高度。sum += 2 * h;//球弹起距离h,下落距离h,经过2h距离后再次落地。运行这句后,此时sum表示第i次落地时小球经过的距离}//此时sum为第10次落地时经过的距离,h为第10次下落的高度,第10次弹起的高度应该为h/2cout<<sum<<endl<<h/2<<endl;return 0;
}
解法2:根据数学推导输出结果
在上述【解题思路】中得到结论:
球弹跳的总距离:h(3−128)h(3 - \frac{1}{2^8})h(3−281)
第10次弹起的距离:h210\frac{h}{2^{10}}210h
#include <bits/stdc++.h>
using namespace std;
int main()
{double h;cin>>h; cout<<h * (3 - 1 / pow(2, 8))<<endl<<h / pow(2, 10)<<endl;return 0;
}
信息学奥赛一本通 1085:球弹跳高度的计算 | OpenJudge NOI 1.5 20相关推荐
- 信息学奥赛一本通 1108:向量点积计算 | OpenJudge NOI 1.6 09
[题目链接] ybt 1108:向量点积计算 OpenJudge NOI 1.6 09:向量点积计算 [题目考点] 1. 数组 [题解代码] 解法1: #include <bits/stdc++ ...
- 大家好!我是屁孩君儿子,今天给大家带来一个 1085 球弹跳高度的计算
求关注! 代码如下: #include<bits/stdc++.h> using namespace std; int main() {double h,sum=0,q=0;int i;c ...
- 信息学奥赛一本通 1171:大整数的因子 | OpenJudge NOI 1.6 13:大整数的因子
[题目链接] ybt 1171:大整数的因子 OpenJudge NOI 1.6 13:大整数的因子 [题目考点] 1. 高精度 考察:高精模低精 高精度计算讲解 [解题思路] 先把参与运算的数字当成 ...
- 信息学奥赛一本通 1149:最长单词2 | OpenJudge NOI 1.13 16
[题目链接] ybt 1149:最长单词2 OpenJudge NOI 1.13 16:最长单词2 [题目考点] 1. 字符串遍历 2. 处理多个字符串 3. while(cin >> - ...
- 信息学奥赛一本通 1148:连续出现的字符 | OpenJudge NOI 1.9 11
[题目链接] ybt 1148:连续出现的字符 OpenJudge NOI 1.9 11:连续出现的字符 [题目考点] 1. 字符串处理 2. 数值统计 [题解代码] 解法1:比较相邻字符 #incl ...
- 信息学奥赛一本通 1145:字符串p型编码 | OpenJudge NOI 1.7 31:字符串p型编码
[题目链接] ybt 1145:字符串p型编码 OpenJudge NOI 1.7 31:字符串p型编码 [题目考点] 1. 字符串处理 [解题思路] 遍历字符串,设置变量curNum表示当前关注的数 ...
- 信息学奥赛一本通 1143:最长最短单词 | OpenJudge NOI 1.7 25
[题目链接] ybt 1143:最长最短单词 OpenJudge NOI 1.7 25:最长最短单词 [题目考点] 1. 字符串处理 [解题思路] 思路1:将字符串分解为多个单词,而后求出各个单词的长 ...
- 信息学奥赛一本通 1137:加密的病历单 | OpenJudge NOI 1.7 12
[题目链接] ybt 1137:加密的病历单 OpenJudge NOI 1.7 12:加密的病历单 [题目考点] 1. 字符串处理 [解题思路] 加密过程有三个工序:循环左移,逆序存储,大小写反转. ...
- 信息学奥赛一本通 1110:查找特定的值 | OpenJudge NOI 1.9 01
[题目链接] ybt 1110:查找特定的值 OpenJudge NOI 1.9 01:查找特定的值 [题目考点] 1. 顺序查找 [题解代码] 解法1: #include <bits/stdc ...
最新文章
- [最近公共祖先(LCA)]
- php数组转为js json,php如何将数组转为json数组,php数组转为js数组
- Repository模式(转载)
- 使用分页插件PageHelper
- 如何优化 .NET Core 中的 lambda 查询表达式 ?
- OAuth2.0_授权服务配置_密码模式及其他模式_Spring Security OAuth2.0认证授权---springcloud工作笔记145
- 异步tcp通信——APM.Core 服务端概述
- JSON Schema
- C++制作植物大战僵尸
- 360全景拼接 opencv_全景拼接算法简介
- [buuctf.reverse] 144_[XMAN2018排位赛]easyvm 147_[XNUCA2018]Code_Interpreter
- 【软件工程师中级职称】学习总结
- 07 PCA(主成分分析)之梯度上升法
- 自媒体赚钱系列连载03:音乐人有收益自媒体平台大全
- 关于Windows7升级到Windows8喇叭出现红色叉号的问题
- 《实施Cisco统一通信管理器(CIPT1)》一2.5 跨越IP WAN的集群部署模型
- Fluent飞行器动导数计算方法
- 看完让你彻底理解 WebSocket 原理
- 硬盘数据恢复软件 去限制版
- 通过苹果设计和小米商业,重新理解互联网产品创新
热门文章
- Manjaro Linux 0.8.5 发布
- 《人类简史》作者:巨变将至!数据决定你未来是什么物种
- gson 不忽略空_java – Gson序列化字段只有在不为null或不为空
- python怎么用matplotlib_用Matplotlib在Python中绘制时间
- 代码规范 设计模式落地之路
- 图解 ElasticSearch 原理,太牛了
- 硬核干货,老曹解密“语音交互”背后的黑科技!
- DevOps是微服务的秘方
- 【JEECG技术文档】表单配置-树形表单
- 明晚8点,捷微团队QQ群公开课,讲解jeewx2.0版本maven环境的搭建入门!