#include <stdio.h>
int main()
{
 int m,n,i;
 float s,h=0;                      //s,h分别是挑起的高度跟总的距离。
 scanf("%d%d",&m,&n);
 s=m;
 for(i=1;i<=n;i++)
 {
  s=s/2.0;
  h=h+3.0*s;                      //画图可以看出关系。
 }
 printf("%.2f %.2f\n",s,h-s);     //最后一次挑起的高度不加。
  
}

解题思路:





注意事项:

 注意题目最后一次挑起的长度不加。





参考代码:

点赞(2)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 2 条评论

杨美人 7年前 回复TA
@突触小泡 将第一次下落的高度给s,然后用s/2就是第一次弹起的高度,3*(s/2)就是第一次下落又弹起的总高度,以此类推,方便算路程。
突触小泡 7年前 回复TA
s=m;
请问这个赋值是有什么用?