int height=100 //开始的高度
int total=0 //总共移动的距离
for(int i=0,i++,i<+10){ //反弹的次数
total=total+height+height/2 //每次距离为落下和反弹上来
height=height/2 // 高度每次反弹减半
println(total) //最终总距离
println(height) //第10次高度
}
const calc = (defaultHeight, turn) => {
const onceTravel = (defaultHeight, sum = 0, n) => {
const endHeight = defaultHeight / 2
sum += defaultHeight + endHeight
if (n < turn) {
return sum + onceTravel(endHeight, sum, n + 1)
} else {
return sum
}
}
return onceTravel(defaultHeight, 0, 1)
}
你题目的解答代码如下:
var h = 100;//高度
var sum = h;//跳n次共经过sum米
for (var i = 1; i < 10; i++)
{
h /= 2;
sum += h*2;
}
console.log("共经过"+sum+"米");
console.log("反弹高度"+h+"米");
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!