0
已解决
姜成禹
新手守护
新手守护
1010 弹球高度
题目描述 Description
一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。 编程计算气球在第8次落地时,共经过多少米? 第8次反弹多高?
输入描述 Input Description
输入一个整数h,表示球的初始高度。
输出描述 Output Description
输出包含两行,均保留四位小数(四舍五入)。
第1行:到球第8次落地时,一共经过的米数。
第2行:第8次弹跳的高度。
样例输入 Sample Input
20
样例输出 Sample Output
59.6875
0.0781
代码如下: 0分
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
double n,sum=0;
cin>>n;
sum+=n;
for(int i=1;i<=8;i++)
{
n=n/2;
sum+=(n*2);
}
printf("%.4f",sum);
cout<<endl;
printf("%.4f",n);
return 0;
}
求救!!!
0
已采纳
朱智霖
新手守护
新手守护
暴力
s+=h;
h/=2.0;
s+=h*2;
h/=2.0;
s+=h*2;
h/=2.0;
s+=h*2;
h/=2.0;
s+=h*2;
h/=2.0;
s+=h*2;
h/=2.0;
s+=h*2;
h/=2.0;
s+=h*2;
h/=2.0;
s=int(s*10000+0.5)/10000.0;
h=int(h*10000+0.5)/10000.0;
printf("%.4f",s);
cout<<endl;
printf("%.4f",h);
0
李素妍
新手天翼
新手天翼
double s=0.0,h; cin>>h; s=s-h; int i=1; while(i<=8) { s=s+2*h; h=h/2; i++; } printf("%.4lf",int(s*10000+0.5)/10000.0); cout<<endl; printf("%.4lf",int(h*10000+0.5)/10000.0);
0