水泥封心的东东


私信TA

用户名:dotcpp0621324

访问量:122

签 名:

等  级
排  名 24984
经  验 605
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校 泉州信息工程学院
专  业

  自我简介:

TA的其他文章

解题思路:逐步分解后发现只有第一次释放时是无反弹的,那么我们就可以把每次反弹的过程看成第从2项开始的等比数列。

注意事项:注意我是指把每一次反弹当作一项,也就是说一次反弹包含上行和下行,当然也不要忘记最后加上第一项


该题目使用数学方法确实十分简洁,难点在于把每次反弹分解细化,代码上新手容易出现的问题是浮点和整形数据的类型转换

勾起回忆呢,高中时期在数学和物理中做过无数道各种类型的抛射类问题,今天又以不同的方式,解决了相似的题目。

  

如有问题欢迎指正

参考代码:

#include<stdio.h>

#include<math.h>

int main()

{

int n,h;

double sum,h1;

scanf_s("%d%d", &h,&n);//输入高度,和弹跳次数

h1 = (h * (pow(1.0/2.0, n)));//最后一次弹跳高度

sum = 2 * h * (1 - pow(1.0/2.0, n-1))+h;//注意此处最后一次弹跳高度不计入总路程

printf("%.2f %.2f", h1, sum);

return 0;

}


 

0.0分

1 人评分

  评论区

  • «
  • »