CPP17. 计算小球走过的路程和反弹高度
描述
一球从 h 米高度自由落下,每次落地后反跳回原高度的一半再落下,求它在第 n 次落地时共经过了多少米?第 n 次返弹多高?输入描述
输入小球下落的高度和落地的次数(先输入小球初始高度再输入反弹次数)输出描述
输出小球第 n 次 落地时经过的距离和第 n 次反弹的高度(保留小数点后1位)示例1
输入:
100 1
输出:
100.0 50.0
示例2
输入:
100 3
输出:
250.0 12.5
C++ 解法, 执行用时: 2ms, 内存消耗: 384KB, 提交时间: 2021-11-28
#include <iostream> #include <iomanip> using namespace std; int main() { // 下落的高度和落地的次数 double h; int n; double mater=0; cin >> h; cin >> n; for(int i=0;i<n;i++){ mater+=h; if(i>0 ) mater+=h; h/=2.0; } cout<<fixed<<setprecision(1)<<mater<<" "<<h<<endl; return 0; }
C++ 解法, 执行用时: 2ms, 内存消耗: 392KB, 提交时间: 2022-03-11
#include <iostream> #include <iomanip> using namespace std; int main() { // 下落的高度和落地的次数 double h; int n; double s; cin >> h; cin >> n; s = h*1.0; h = h * 0.50; if (n == 1) ; // write your code here..... else { for (int i = 2; i <= n; i++) { s = s + 2.0* h; h = h * 0.50; } } cout <<fixed<<setprecision(1) <<s << ' '<<setprecision(1) << h; return 0; }
C++ 解法, 执行用时: 2ms, 内存消耗: 392KB, 提交时间: 2021-12-07
#include <iostream> #include <iomanip> using namespace std; int main() { // 下落的高度和落地的次数 double h; int n; cin >> h; cin >> n; double sum = 0; for (int i = 0; i < n; i++) { sum += h; if (i > 0) sum += h; h /= 2.0; } cout << fixed << setprecision(1) << sum << " " << setprecision(1) << h << endl; return 0; }
C++ 解法, 执行用时: 2ms, 内存消耗: 396KB, 提交时间: 2022-01-22
#include <iostream> #include <iomanip> using namespace std; int main() { // 下落的高度和落地的次数 double h; int n; cin >> h; cin >> n; // write your code here...... double sum=0; for(int i=0;i<n;i++){ sum+=h; if(i>0) {sum+=h;} h/=2.0; } cout<<fixed<<setprecision(1)<<sum<<" "<<setprecision(1)<<h<<endl; return 0; }
C++ 解法, 执行用时: 2ms, 内存消耗: 396KB, 提交时间: 2021-12-18
#include <iostream> #include <iomanip> using namespace std; int main() { // 下落的高度和落地的次数 double h; int n; cin >> h; cin >> n; // write your code here...... double m=0.0,sum=h; for(int i=1;i<n;i++) { sum+=h/2.0*2.0; h=h/2.0; m=h/2.0; } cout<<fixed<<setprecision(1)<<sum<<" "<<m; return 0; }