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;
}
相关推荐
优雅的潮叭2 小时前
c++ 学习笔记之 chrono库
c++·笔记·学习
星火开发设计2 小时前
C++ 数组:一维数组的定义、遍历与常见操作
java·开发语言·数据结构·c++·学习·数组·知识
月挽清风2 小时前
代码随想录第七天:
数据结构·c++·算法
点云SLAM4 小时前
C++内存泄漏检测之Windows 专用工具(CRT Debug、Dr.Memory)和Linux 专业工具(ASan 、heaptrack)
linux·c++·windows·asan·dr.memory·c++内存泄漏检测·c++内存管理
浅念-4 小时前
C语言小知识——指针(3)
c语言·开发语言·c++·经验分享·笔记·学习·算法
无限进步_6 小时前
【C++】大数相加算法详解:从字符串加法到内存布局的思考
开发语言·c++·windows·git·算法·github·visual studio
C+-C资深大佬6 小时前
C++ 数据类型转换是如何实现的?
开发语言·c++·算法
oioihoii7 小时前
回归测试:软件演进中的质量守护神与实践全指南
c++
十五年专注C++开发8 小时前
CMake基础: 在release模式下生成调试信息的方法
linux·c++·windows·cmake·跨平台构建
点云SLAM8 小时前
C++(C++17/20)最佳工厂写法和SLAM应用综合示例
开发语言·c++·设计模式·c++实战·注册工厂模式·c++大工程系统