import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); float h=scanner.nextFloat(); int n =scanner.nextInt(); float sum = 0; for(int i=0;i<n;++i){ sum+=h; h/=2; sum+=h; } sum-=h; System.out.println(String.format("%.3f", h)+" "+String.format("%.3f", sum)); } }
首先经过的路程,根据n次循环,每次循环就是下降的高度+反弹的高度,即h+h/2,但最后一次记得减去h,因为是下降的高度,所以最后一次反弹的高度就不用计算了
求第n次的下降高度直接输出h即可