Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
小瑜3歲了,很喜歡玩皮球,看來今後喜歡打籃球的^_^。最近她發現球從手中落下時,每次落地後反跳回原高度的一半,再落下,每次球落地時數球跳了幾次,數到n次時爸爸在邊上喊停,問小瑜現在球到底總共走了多少距離,小瑜故作沉思狀,爸爸又問接下來小球能跳多高啊,小瑜搖搖頭,心想還沒跳我怎麼知道啊,難道爸爸是神啊!這時的你在邊上出主意想給小瑜寫個程序計算一下,因此任務就交給你啦!假設球的初始高度爲h,計算第n次落地時球經過的距離,以及落地後反彈能有多高。
Input
輸入數據有多組,第一行爲數據的組數t,下面t行爲t組數據,每行有兩個數h和n,分別用空格分隔。
Output
輸出第n次反彈時球經過的距離和球最後的高度,保留小數點後2位。
Sample Input
Sample Output
100.00 50.00
200.00 25.00
Hint
Source
//package leslie;
import java.util.*;
public class Main {
public static void f(float h, int n) {
float sum = h;
float hh = h / 2;
for (int i = 2; i <= n; i++) {
sum += hh * 2;
hh /= 2;
}
System.out.printf("%.2f %.2f\n", sum, hh);
}
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
while (cin.hasNextLine()) {
int t = cin.nextInt();
for (int i = 0; i < t; i++) {
float a = cin.nextFloat();
int b = cin.nextInt();
f(a, b);
}
}
cin.close();
}
}