解题思路:拆解题目的过程,一次接一次地分析反弹的过程,从而能分析出反弹过程的共性和不同点
注意事项:
参考代码:
#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语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:643 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:488 |
C语言训练-字符串正反连接 (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1550 |
字符串输入输出函数 (Java代码)浏览:1498 |
矩阵乘法 (C++代码)浏览:1662 |
十->二进制转换 (C语言代码)浏览:1330 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:600 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:582 |
核桃的数量 (C语言代码)浏览:726 |