题解 | #计算小球走过的路程和反弹高度#

计算小球走过的路程和反弹高度

https://www.nowcoder.com/practice/ac674f68367149d5ad1f857a379e69c9

#include <iostream>
#include <iomanip>
using namespace std;

int main() {

    // 下落的高度和落地的次数
    double h;
    int n;

    cin >> h;
    cin >> n;

    // write your code here......
    double dis = 0;
    for(int i=1; i<=n; i++){
        if(i==1){
            //第一次落地时经过了h米
            dis = h;
        }else{
            //第n次落地相比于第n-1次落地增加经过了2个h米(一上一下,注意落地后‘先上后下’,上和下的距离相等,都是h)
            dis = dis + 2*h;
        }
        //每次落地,目标高度减半,即将上弹h米
        h = h/2;
    }
    cout<<fixed<<setprecision(1)<<dis<<" "<<h;

    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务