一个简单的题目总是出错,求大神解答
一球从100m处下落,每次落地后反弹回原高度的一半,再落下,求在第十次落地时共经过多少m?我是这么写的却总是不对啊,求指出哪里错了啊
int i=1;
double x;
while(i<=10)
{
double t=100,sum=0;
t=t*pow(1/2,(i-1));
sum=sum+2*t;
x=sum-100;
i++;
}
cout<<"x="<<x<<endl;
2013-09-25 15:06

2013-09-25 15:26

2013-09-25 15:31
程序代码:#include <iostream>
using namespace std;
int main()
{
const double a = 100;
const int n = 10;
// 2*a + (2*a)/2 + (2*a)/4 + (2*a)/8 + (2*a)/16 + (2*a)/32 + (2*a)/64 + (2*a)/128 + (2*a)/256 + (2*a)/512 - a
// == 4*a*( 1 - pow(0.5,n) ) - a
cout << 4*a * ((1<<n)-1) / (1<<n) - a << endl;
return 0;
}
2013-09-25 15:36

2013-09-25 15:43
2013-09-25 16:50
2013-09-25 18:01
程序代码:#include<iostream>
using namespace std;
int main()
{
double i,a(100),sum(100);//相当于a=100
for(i=0;i<10;i++)
{
a=a/2;
sum+=a*2;//意思跟sum=sum+a*2是一样的
}
cout<<sum<<endl;
system("pause");
return 0;
}
一看就懂
2013-10-02 21:24