Проблема: учитывая 3 входа Bounce, высоту падения шара и высоту взгляда на шар.
Как рассчитать, сколько раз наблюдатель может видеть проход мяча.Таким образом, мой код дает правильный вывод, но это занимает больше времени, когда отскок приближается к 1, как мне сделать его детерминированным по своей природе.
def bouncingBall(h, bounce, window):
BounceFactor = bounce
BallDropHeight = h
ViewerHeight = window
BounceLeft = h
BallSeenTimes = 1
if bounce > 1 or bounce < 0 or window >= h or h ==0:
return -1
else:
while (BounceLeft > ViewerHeight):
BounceLeft = BounceLeft * BounceFactor
if (BounceLeft > ViewerHeight):
BallSeenTimes = BallSeenTimes + 2
else:
break
return BallSeenTimes
Я не ищу ответы кода, только направлениев котором мне нужно думать.В настоящее время я думаю, что если бы я мог как-то установить линейные отношения и создать функцию для «угадывания» проходов, это было бы быстрее.