解题思路:
注意事项:
参考代码:
1、
#include <stdio.h>
#include <math.h>
int main()
{
int m,n,i;
float x,y=0,u=0;
scanf("%d%d",&m,&n);
for(i=1;i<=n;i++)
{
x=m/pow(2,i); //第n次反弹的高度
y=y+2*x;} //所有n次反弹的距离
u=y-2*m/pow(2,n); //最后一次只算到落地,不算反弹的距离
printf("%.2f %.2f",x,m+u);//反弹的 距离加回第一次落地的距离
return 0;
}
2、思路比较清晰,方法可以用在C语言
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
double m,n,s,sum=0;
int i,j;
cin>>m>>n;
s=m/(pow(2,n));//第n次反弹的高度
for(i=0;i<n;i++)
{
sum+=(m+m/2);//计算n次反弹的距离
m=m/2;//每次反弹高度变回原来的一半
}
sum=sum-s;//注意这里减去最后一次反弹的高度
cout<<fixed<<setprecision(2)<<s<<' '<<sum<<endl;
return 0;
}
0.0分
1 人评分
汽水瓶 (C语言代码)浏览:664 |
剔除相关数 (C语言代码)浏览:1058 |
回文串 (C语言代码)浏览:3097 |
字符串对比 (C语言代码)浏览:1471 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:634 |
【亲和数】 (C语言代码)浏览:541 |
Wu-求圆的面积 (C++代码)浏览:1994 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:689 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:609 |
【矩阵】 (C++代码)浏览:999 |