输入格式:
输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。
输出格式:
在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。
输入样例:
33 5
输出样例:
94.9 1.0
#include <stdio.h>
double rebound(long height,long n);
int main(){
long height,n;
double dis,bounce; //dis=distance距离
scanf("%ld %ld",&height,&n);
if(n==1)
dis=height;
else if(n==0)
dis=0;
else {
dis=height;
for(int i=2;i<=n;i++){
dis=dis+2*rebound(height,i-1);
}
}
printf("%.1f %.1f",dis,rebound(height,n));
}
double rebound(long height,long n){
if(n==1)
return 0.5*height;
else if(n==0){
double a=0;
return a;
}
else
return 0.5*rebound(height,n-1);
} //定义一个函数,递归计算反弹高度