解题思路:
注意事项:
参考代码:
#include <stdio.h> #include <math.h> //包含乘方函数pow() //函数原型:double pow(double x, double y) int main(void) { double M, N; scanf("%lf%lf", &M, &N); printf("%.2lf %.2lf\n", M*pow(0.5, N), 4*M*(1 - pow(0.5, N)) - M); return 0; } //每反弹一次,高度都要折半,即M*0.5*0.5*...*0.5,即M*pow(0.5, N) //运用等比求和公式(Sn = a1(1-q^n) / 1-q)求解,化简可得2*M*(1 - pow(0.5, N)); //由于路程包括球的弹起与落下,所以路程要翻倍,即4*M*(1 - pow(0.5, N)); //又由于第一次的路程不用翻倍,所以4*M*(1 - pow(0.5, N)) - M。
0.0分
0 人评分