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;
}
相关推荐
D_evil__2 分钟前
【Effective Modern C++】第二章 auto:6. 当auto推导的类型不符合要求时,使用显式类型初始化习惯用法
c++
哈哈不让取名字27 分钟前
基于C++的爬虫框架
开发语言·c++·算法
剑锋所指,所向披靡!3 小时前
C++之类模版
java·jvm·c++
C+-C资深大佬4 小时前
C++风格的命名转换
开发语言·c++
No0d1es4 小时前
2025年粤港澳青少年信息学创新大赛 C++小学组复赛真题
开发语言·c++
点云SLAM4 小时前
C++内存泄漏检测之手动记录法(Manual Memory Tracking)
开发语言·c++·策略模式·内存泄漏检测·c++实战·new / delete
好评1244 小时前
【C++】二叉搜索树(BST):从原理到实现
数据结构·c++·二叉树·二叉搜索树
zylyehuo4 小时前
error: no matching function for call to ‘ros::NodeHandle::param(const char [11], std::string&, const char [34])’
c++·ros1
星火开发设计5 小时前
C++ 函数定义与调用:程序模块化的第一步
java·开发语言·c++·学习·函数·知识
天赐学c语言5 小时前
1.20 - x的平方根 && vector的扩容机制以及删除元素是否会释放内存
c++·算法·leecode