CCK


私信TA

用户名:1049346696

访问量:831

签 名:

一个菜鸟的诞生日记

等  级
排  名 5246
经  验 1569
参赛次数 4
文章发表 4
年  龄 24
在职情况 在职
学  校 dgut
专  业 ce

  自我简介:

菜鸟的打怪之路,有志同道合的可以一起冲

解题思路:

建立数学模型。分析下落的过程,把初始的高度看作起点,反弹的高度看作终点,反弹高度是原高度的1/2。

那么把初始高度落下,到反弹结束看作一次完整的过程。经历的米数是原初始高度的1.5倍。

将一次完整的过程进行拆分

      1.一次完整的初始高度(下落至地面!!!)

      2.反弹0.5倍的初始高度。

模型建立完毕,以这个为思想,审题,第n次落地时,经历的米数应该是完整的n次下落过程,减去最后反弹的高度。


注意事项:

  1. 申请题意,是第n次落地时,落地时,落地时(重要事情说三遍)经历过的米数。

  2. 容易忽略经历的米数包括反弹的米数。

参考代码:

#include<stdio.h>
void main()
{
    int n,i;             //n是次数
    float m,sum=0.0;       //m是初始高度,sum是经历米数(这里一定要初始化经历米数,不然会报错)
    scanf("%f%d",&m,&n);
    for(i=1;i<=n;i++){
         sum=sum+m;        //拆分完整过程中的第一步,下落至地面
       m=m/2;           //计算反弹的高度,同时覆盖为下一次完整过程的初始高度
       sum=sum+m;        //拆分完整过程中的第二步,下落至地面
    }
    printf("%0.2lf %0.2lf\n",m,sum-m);    //题目说落地时的米数,所以减去最后的反弹高度
}

该过程注重建模思想,代码仅供参考。

 

0.0分

1 人评分

  评论区

  • «
  • »