解题思路:拆解题目的过程,一次接一次地分析反弹的过程,从而能分析出反弹过程的共性和不同点
注意事项:
参考代码:
#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语言考试练习题_一元二次方程 (C语言代码)浏览:734 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1514 |
简单的a+b (C语言代码)浏览:537 |
Pascal三角 (C语言代码)浏览:1182 |
【亲和数】 (C语言代码)浏览:501 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:526 |
简单的a+b (C语言代码)浏览:580 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:500 |
C二级辅导-等差数列 (C语言代码)浏览:770 |
1073题解浏览:620 |