洛克萨斯无情铁手


私信TA

用户名:nmsl001

访问量:2209

签 名:

-------------请以上同学上台领奖!----------------

等  级
排  名 7209
经  验 1276
参赛次数 3
文章发表 6
年  龄 1
在职情况 学生
学  校 大连民族大学
专  业 artificial 智能

  自我简介:

这个人很懒,什么也没留下。。。

解题思路:由题意可知,输入的M为高度,N为第几次落地,令M的值为m、经过的总距离为h、第N次弹起的高度为x、上升的总距离为y。

以第N次弹起的高度x为对象,模型可看做是依次递减的等比数列,则已知高度M,可通过等比数列的通项公式求第N次弹起的高度为x=m/2^n。
把整个过程分为上升和落下两个过程,则第N次落下时,上升的距离之和可用等比数列的前n项和表示,易知经过的总距离为h=2*(m+y)-m。

再输出x,h的值即可。
注意事项:1、第N次落地时经过的距离不包括再次弹起时经过距离;

2、代数式的建立,等比数列的运用,模型的建构。

3、在输入2的n次方时,我使用了#include<math.h>函数,表示2的n次方时,代码为pow(2,n)。

4、输出时保留两位小数。

参考代码:

# include<stdio.h>

# include<math.h>

int main()

{ double m,n,i,x=0,y=0,h=0,z=0;

scanf("%lf %lf",&m,&n);

for(i=1;i<n;i++)

{

x=m/pow(2,n);

y+=m/pow(2,i);

h=2*(m+y)-m;

}

printf("%0.02lf %0.02lf",x,h);

return 0;

}

创作不易,点赞即支持。


 

0.0分

3 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

针不戳!
2021-10-20 20:20:43
  • «
  • 1
  • »