解题思路:拆解题目的过程,一次接一次地分析反弹的过程,从而能分析出反弹过程的共性和不同点
注意事项:
参考代码:
#include <iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int main()
{
int M, N;
cin >> M >> N; //根据题目要求输入两个数据
double height = M / pow(2, N); //根据反弹一次高度变为一半,考虑使用指数函数
double re = M; //第一次反弹经过的高度与往后的每一次反弹所经历的过程不同,第一次反弹前经过的路程只有一段
for (int i = 1; i < N; i++)
{
re += 2 * M / pow(2, i); //反弹经过的路程包含两段相同的路程
}
cout <<setiosflags(ios::fixed)<<setprecision(2)<< height << " " << re; //保留两位小数
return 0;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:622 |
【偶数求和】 (C++代码)浏览:709 |
九宫重排 (C++代码)浏览:1335 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:1523 |
最长单词 (C语言代码)浏览:1376 |
A+B for Input-Output Practice (II) (C语言代码)浏览:999 |
简单的for循环浏览:1410 |
WU-printf基础练习2 (C++代码)浏览:2007 |
a+b浏览:433 |
回文数字 (C语言代码)浏览:2510 |