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

描述

一球从 h 米高度自由落下,每次落地后反跳回原高度的一半再落下,求它在第 n 次落地时共经过了多少米?第 n 次返弹多高?

输入描述:

输入小球下落的高度和落地的次数(先输入小球初始高度再输入反弹次数)

输出描述:

输出小球第 n 次 落地时经过的距离和第 n 次反弹的高度(保留小数点后1位)

示例1

输入:

复制代码
100 1

输出:

复制代码
100.0 50.0

示例2

输入:

复制代码
100 3

输出:

复制代码
250.0 12.5

把第一段下落抽出来,小球到结束就是一个循环了

见代码

cpp 复制代码
#include <iostream>
#include <iomanip>
#include<cmath>
using namespace std;

int main() {

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

    cin >> h;
    cin >> n;

    // write your code here......
    double sum=0,s=0;
    for(int i=1;i<=n;i++){
        if (i==1) sum+=h;
        else sum+=2*s;
        s=h/pow(2,i);
        
    }
    cout<<fixed<<setprecision(1)<<sum<<" "<<s;
    return 0;
}
相关推荐
zmzb010315 分钟前
C++课后习题训练记录Day105
开发语言·c++·算法
闻缺陷则喜何志丹34 分钟前
【拆位法】P8743 [蓝桥杯 2021 省 A] 异或数列|普及+
c++·蓝桥杯·位运算·拆位法
fpcc1 小时前
跟我学C++中级篇——Concepts的循环依赖
c++·模板和元编程
訫悦1 小时前
C++自带的set get语法(MSVC)
开发语言·c++
墨雪不会编程2 小时前
C++之【list详解篇一】如何玩好链表
c++·链表·list
柏木乃一2 小时前
Linux进程信号(2):信号产生part2
linux·运维·服务器·c++·信号处理·信号·异常
HAPPY酷3 小时前
C++ 成员指针(Pointer to Member)完全指南
java·c++·算法
Sunsets_Red3 小时前
浅谈随机化与模拟退火
java·c语言·c++·python·算法·c#·信息学竞赛
星火开发设计3 小时前
模板参数:类型参数与非类型参数的区别
java·开发语言·前端·数据库·c++·算法
忘梓.3 小时前
二叉搜索树·极速分拣篇」:用C++怒肝《双截棍》分拣算法,暴打节点删除Boss战!
开发语言·c++·算法