浙大PTA弹球距离

浙大PTA弹球距离_第1张图片
题目思路:浙大PTA弹球距离_第2张图片
通过这个图片可以看到第i次弹起和第i+1下降经过的路程是一样的,并且等于第i次下降的路程*p,因此我们只需要将第一次下降加起来,留下的每俩段合起来一起加上去,直到弹起的高度达不到TOL阈值

double dist( double h, double p )
{
    double current = h, sum = 0;
    sum += h;
    current *= p;
    while(current >= TOL){
        sum += 2 * current;
        current *= p;
    }
    return sum;
}

你可能感兴趣的:(数据结构pta,数据结构)