求一道JAVA题目!
一个球从100米高空落下,每次落地后弹回原高度的一半再落下,求这样球一共能弹多少米?和多少次?最好能用FOR循环和WHILE循环都写次,谢谢
----------------解决方案--------------------------------------------------------
精确到多少米?多少次?
----------------解决方案--------------------------------------------------------
class Ball
{
public static int i;
public int fun(int m)
{
if(0 == m)
{
return 0;
}
else
{
i++;
return m+fun(m/2);
}
}
}
public class eg1
{
public static void main(String args[])
{
Ball.i =0;
Ball ball =new Ball();
System.out.print("一共有"+ball.fun(100)+"米,共"+Ball.i+"次");
}
}
不知道你想精确到多少,就按整数来求了。要有小数的话,自己改一下就行。
----------------解决方案--------------------------------------------------------
没看到,要用for和while啊,都是一样的
class Ball
{
public void fun(int m)
{
int j = 0;
int sum = 0;
while(0 != m)
{
sum = sum + m;
m = m / 2;
j++;
}
System.out.println("一共有"+sum+"米,共"+j+"次");
}
}
public class eg3
{
public static void main(String args[])
{
Ball ball =new Ball();
ball.fun(100);
}
}
----------------解决方案--------------------------------------------------------
精确到0.1米,可以20次吗?
麻烦写下谢谢!!
----------------解决方案--------------------------------------------------------