解题思路:我们把每次弹起来看做一次终点,每段即为M+M/2
注意事项:注意最后一次并没有弹起来所以需要减去一个M;
参考代码:
自由下落的距离计算
#include<bits/stdc++.h>
using namespace std;
int main(){
double M,N,sum;
cin>>M>>N;
sum=0;
while(N--){
M=M/2;
sum=sum+M*2+M;
if(N==0){
sum=sum-M;
}
}
cout<<fixed<<setprecision(2)<<M<<" "<<sum;
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:517 |
Tom数 (C语言代码)浏览:499 |
1048题解(读入回车问题)浏览:574 |
Tom数 (C语言代码)浏览:538 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:698 |
C二级辅导-温度转换 (C语言代码)浏览:737 |
妹子杀手的故事 (C语言代码)浏览:1084 |
良心推荐——>题解1049:C语言程序设计教程(第三版)课后习题11.1 (C语言描述——简单明了,时间复杂度低)浏览:1296 |
买不到的数目 (C语言代码)浏览:3099 |
C二级辅导-温度转换 (C语言代码)浏览:551 |