/*
一个铁球从100米落下每次反弹一半的距离,问它弹10次共经过多少米,第十次是多少米?
思路:
1、 需要两个变量,分别记录前十次的距离和第十次的距离。
每次反弹一半,可能会出现小数,所以两个变量都要是double型:double sum,double h
2、从100米落下后才开始第一次反弹,sum初始值应为100,h初始值为100,每次反弹到下次反弹,铁球运动2*h的距离
则有sum=sum+2*h,每次反弹一半距离,则h=h/2;
3、反弹十次,需要循环,即:for(int x=1;x<=10;x++)
步骤:
1、定义两个double类型变量sum,h用来接收每次反弹的上下运动距离和高度
赋初始值sum=100,h=100;
2、使用for循环控制循环次数
3、使用sum=sum+h*2,和h=h/2作为循环语句
4、打印sum和h
*/
class DownTest
{
public static void main(String[] args)
{
double sum=100;
double h=100;
for (int x=1;x<=10 ;x++ )
{
h=h/2;
sum=sum+h*2;
}
System.out.println("十次总距离:sum="+sum+"米");
System.out.println("第十次的高度:h="+h+"米");
}
}
/*
一个铁球从100米落下每次反弹一半的距离,问它弹10次共经过多少米,第十次是多少米?
思路:
1、 需要两个变量,分别记录前十次的距离和第十次的距离。
每次反弹一半,可能会出现小数,所以两个变量都要是double型:double sum,double h
2、从100米落下后才开始第一次反弹,sum初始值应为100,h初始值为100,每次反弹到下次反弹,铁球运动2*h的距离
则有sum=sum+2*h,每次反弹一半距离,则h=h/2;
3、反弹十次,需要循环,即:for(int x=1;x<=10;x++)
步骤:
1、定义两个double类型变量sum,h用来接收每次反弹的上下运动距离和高度
赋初始值sum=100,h=100;
2、使用for循环控制循环次数
3、使用sum=sum+h*2,和h=h/2作为循环语句
4、打印sum和h
*/
class DownTest
{
public static void main(String[] args)
{
double sum=100;
double h=100;
for (int x=1;x<=10 ;x++ )
{
h=h/2;
sum=sum+h*2;
}
System.out.println("十次总距离:sum="+sum+"米");
System.out.println("第十次的高度:h="+h+"米");
}
}
/*
一个铁球从100米落下每次反弹一半的距离,问它弹10次共经过多少米,第十次是多少米?
思路:
1、 需要两个变量,分别记录前十次的距离和第十次的距离。
每次反弹一半,可能会出现小数,所以两个变量都要是double型:double sum,double h
2、从100米落下后才开始第一次反弹,sum初始值应为100,h初始值为100,每次反弹到下次反弹,铁球运动2*h的距离
则有sum=sum+2*h,每次反弹一半距离,则h=h/2;
3、反弹十次,需要循环,即:for(int x=1;x<=10;x++)
步骤:
1、定义两个double类型变量sum,h用来接收每次反弹的上下运动距离和高度
赋初始值sum=100,h=100;
2、使用for循环控制循环次数
3、使用sum=sum+h*2,和h=h/2作为循环语句
4、打印sum和h
*/
class DownTest
{
public static void main(String[] args)
{
double sum=100;
double h=100;
for (int x=1;x<=10 ;x++ )
{
h=h/2;
sum=sum+h*2;
}
System.out.println("十次总距离:sum="+sum+"米");
System.out.println("第十次的高度:h="+h+"米");
}
}
希望对楼主有帮助,其实思路就和我们做数学题差不多,根据结果使用逆推的方式 |