7-63 高空墜球 (20分)
皮球從某給定高度自由落下,觸地后反彈到原高度的一半,再落下,再反彈,……,如此反復。問皮球在第n次落地時,在空中一共經過多少距離?第n次反彈的高度是多少?
輸入格式:
輸入在一行中給出兩個非負整數,分別是皮球的初始高度和n,均在長整型范圍內。
輸出格式:
在一行中順序輸出皮球第n次落地時在空中經過的距離、以及第n次反彈的高度,其間以一個空格分隔,保留一位小數。題目保證計算結果不超過雙精度范圍。
輸入樣例:
33 5
我先將第一次落地的時候單獨算 其他的情況是一樣的就可以重復算 但是別忘了 一定要把高度初始為0的時候單獨排除
輸出樣例:
94.9 1.0
#include<stdio.h>
int main()
{
int n;
double sum=0;
double h;
int count=2;
scanf("%lf%d",&h,&n);
if(n==0)
{
printf("0.0 0.0\n");
return 0;
}
sum=h;
h=h/2;
while(count<=n)
{
sum+=h*2;
h=h/2;
count++;
int main()
{
int n;
double sum=0;
double h;
int count=2;
scanf("%lf%d",&h,&n);
if(n==0)
{
printf("0.0 0.0\n");
return 0;
}
sum=h;
h=h/2;
while(count<=n)
{
sum+=h*2;
h=h/2;
count++;
}
printf("%.1f %.1f\n",sum,h);
return 0;
}
printf("%.1f %.1f\n",sum,h);
return 0;
}