问题及代码:
/*Copyright(c)2016,烟台大学计算机学院
all rights reserved.
作者:曹欣宇
完成日期:2016年10月22日
版本号:v1.0
题目描述
小球从m米处落下,每次落地后返回原高度的一半,它在n次落地时反弹多高?共经过多少米?
输入
小球高度和落地次数
输出
反弹高度和经过路程
样例输入
1000 5
样例输出
31.75 2875.00*/
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,n,m;
double sum,a,h;
scanf("%d %d",&m,&n);
for(i=1,j=1,sum=(-1*m);j<=n;j++,i++)
{
a=m/(pow(2,j-1));
sum=sum+a*2;
}
h=m/(pow(2,i-1));
printf("%.2lf %.2lf\n",h,sum);
return 0;
}
运行结果: