`
阿尔萨斯
  • 浏览: 4109253 次
社区版块
存档分类
最新评论

求小球落地5次后所经历的路程和第5次反弹的高度

 
阅读更多

描述:

假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第5次落地时,共经历多少米?第5次反弹多高?

/**
*统计出第5次落地时,共经过多少米?
*
*@paramhigh球的起始高度
*@return英文字母的个数
*/
publicstaticdoublegetJourney(inthigh)
{
return0;
}

/**
*统计出第5次反弹多高?
*
*@paramhigh球的起始高度
*@return空格的个数
*/
publicstaticdoublegetTenthHigh(inthigh)
{
return0;
}

知识点: 算法,查找,搜索,排序
题目来源: 内部整理
练习阶段: 中级
运行时间限制: 10Sec
内存限制: 128MByte
输入:

输入起始高度,int型

输出:

分别输出第5次落地时,共经过多少米第5次反弹多高

【去掉小数末尾无效的0】

样例输入:
1
                   
样例输出:
2.875
0.03125
                    


首先,看完题目后,见题目中间给了两个方法,但事实上,这是基于输入输出的题目啊,不理解给出有何意义。

然后思路:这个题目难度就太简单了一点,就5次的情况下,且不是计算自由落体,而仅仅只要根据反弹一半高度就可以计算,那么字节拿初始高度来乘以算出的比例,即(1+0.5* 2 + 0.5* 0.5 * 2+0.5*0.5*0.5* 2 +0.5*0.5*0.5*0.5* 2) 即可得到其经过的距离,拿高度乘以0.5*0.5*0.5*0.5 * 0.5 即可得到第5次反弹时的高度,而这在给出的样例输入输出中可以获得计算结果。

但是,输出要求中说到【去掉小数末尾无效的0】

这是什么意思,哦,这是在废话。


提交:

#include <iostream>;
#include <string>

using namespace std;

void main(){
	int high;
	cin>>high;
	cout<<(double)high * 2.875;
	cout << (double ) high * 0.03125;

}


然后说我做错了,这就不可理喻了?错在哪里?

然后发现错误,没写endl。 这个错误以前做题目就经常出现,要注意啊。



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics