原题链接:[编程入门]自由下落的距离计算
解题思路:求第n次反弹,则总距离:n次下落加n-1次反弹
注意事项:
参考代码:
#include <stdio.h>
#include <math.h>
main()
{
int m,n,i; //m:球初始下降高度;n:落地后反弹次数
float x,sum; //x:反弹高度;sum:总路程
scanf("%d%d",&m,&n);
sum=m; //第一次落地的距离
for(i=1;i<=n;i++)
{
x=m/pow(2,i); //x=m除2的i次方,循环n次,每循环一次,反弹高度减半
if(i==n) break; //如果不跳出,则总距离累加多一次!
y+=2*x; //循环n-1次,每次累加反弹高度+下落高度的和(反弹高度=下落高度)
}
printf("%.2f %.2f\n",x,sum);
}
0.0分
3 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复