一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第n次落地時,共經過多少米?第n次反彈多高?(n<=10)


單純考邏輯

題目:
一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第n次落地時,共經過多少米?第n次反彈多高?(n<=10)

輸入描述:
一行,一個整數n (1<=n<=10)。

輸出描述:
輸出兩個浮點數ans1,ans2。ans1為第n次落地時,共經過的距離;ans2為第n次反彈的高度。答案應與標准答案誤差小於1e-5。兩個數間以空格相間。

輸入例子1:
1

輸出例子1:
100.000000 50.000000

輸入例子2:
10

輸出例子2:
299.609375 0.097656

//第一次落地比較特殊單獨計算,因為路徑只有下落,沒有反彈 
#include <bits/stdc++.h>
using namespace std;
int main(){
	int n;//1~10
	scanf("%d",&n);
	//算第n次落地時,共經過的距離 
	double sum=100;
	double cur_h=50;
	for(int i = 1;i < n;i++){
		sum+=2*cur_h;
		cur_h/=2;
	} 
	printf("%.6f %.6f",sum,cur_h);	
	return 0;
} 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM