黑马程序员技术交流社区
标题:
问大家一道题,看看有没有做过的.
[打印本页]
作者:
伊丽莎白.大海
时间:
2016-1-14 18:00
标题:
问大家一道题,看看有没有做过的.
一球从100米高度自由落下,每次落地后反跳回原来高度的一半,再落下,
求它在第10次落地时,共经过多少米?第10次反弹多高?
我的答案是:共经过287.3046875米;
第10次反弹0.09765626米
代码是:public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double mi = 100;
double cd = 0;
for(int b = 10;b>0;b--){
for(int a=1;a<=mi;a++){
if(a==mi){
cd+=mi/2;
}
}
cd+=mi;
mi/=2;
}
System.out.println("共经过"+cd+"米");
System.out.println("第十次长度为"+mi+"米");
}
也不知道对不对,你们怎么算的?
作者:
shenfuhan
时间:
2016-1-14 18:14
run一下啦
作者:
擎天柱
时间:
2016-1-14 20:15
学c++的时候做过,我当时用数列做的。
作者:
黑色皮肤的马
时间:
2016-1-14 23:18
不太理解,为什么要用循环嵌套?运行了一下你的代码,数据的确是你说的那样,就是不太明白原理
作者:
shenfuhan
时间:
2016-1-16 19:01
反正需要转圈,就要用for循环
作者:
胡思乱想的猫
时间:
2016-1-16 23:12
这是一个面试题吧 好难 表示做不出来 在努力的搞懂中
作者:
furuigang
时间:
2016-1-17 00:31
表示心热一枚……
作者:
PeterPang
时间:
2016-1-17 12:23
变量名要起的见名知意
作者:
sss1234hhh
时间:
2016-1-17 21:42
应该是0.09765625吧?
作者:
付宇_GXie7
时间:
2016-1-18 22:49
class Text {
public static void main(String[] args) {
double sum1 = 0;
double high1 = 100;
//下落高度
for (int i = 0;i < 10 ;i++ ) {
sum1 += high1;
high1 /= 2;
}
//上升高度
double sum2 = 0;
double high2 = 50;
for (int i = 1;i < 9 ;i++ ) {
sum2 += high2;
high2 /= 2;
}
System.out.println("总共: " + (sum1 + sum2) +" m\t第十次: " + high2/2 + " m");
}
}
//总共: 299.4140625 m 第十次: 0.09765625 m
作者:
愿随风丶飘雪
时间:
2016-1-18 23:08
可以,做的不错
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2