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

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

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

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

int main() {

    // h米小球经过距离s和第n次反弹高度hf
    double h,s,hf;
    int n;

    cin >> h;
    cin >> n;
    s = h;
    hf = h/2;
    // 第1次落地,h米;第n次落地,h+h/2*2+…+h/(pow(2,n-1))*2
    if(n==1)
        s = h;
    if(n >= 1)
    for(int i=2; i <= n; i++){
        s = s + h/(pow(2,i-1))*2;
        hf = hf/2;
    //第n次反弹高度h/2(n-1)
    }
    cout <<setiosflags(ios::fixed) << setprecision(1) << s << " " << hf << endl;
    return 0;
}

#我的2023新年愿望##零基础学习C++##你的秋招进展怎么样了#
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-27 10:48
点赞 评论 收藏
分享
耀孝女:就是你排序挂了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务