本文实例讲述了Python解决抛小球问题求小球下落经历的距离之和。分享给大家供大家参考,
本文实例讲述了Python解决抛小球问题 求小球下落经历的距离之和。分享给大家供大家参考,具体如下:
问题:
小东和三个朋友一起在楼上抛小球,他们站在楼房的不同层,假设小东站的楼层距离地面N米,球从他手里自由落下,每次落地后反跳回上次下落高度的一半,并以此类推知道全部落到地面不跳,求4个小球一共经过了多少米?(数字都为整数)
给定四个整数A,B,C,D,请返回所求结果
测试样例: 100,90,80,70 返回:1020
实现代码:
class Balls:
def calcDistance(self, A, B, C, D):
global res
Balls.totalDistance(self, float(A + B + C + D), float(A + B + C + D))
return res
def totalDistance(self, total, statDis):
global res
statDis /= 2
total += statDis*2
if statDis <= 0.01:
res = int(round(total))
return
Balls.totalDistance(self, total, statDis)
balls = Balls()
global res
balls .calcDistance(100, 90, 80, 70)
print res
运行结果:1020
这一题主要考察浮点数运算以及输出四舍五入,根据给的输出样例来推断边界取值。(我就偏不说动态规划~)
PS:这里再为大家推荐几款计算工具供大家参考使用:
在线一元函数(方程)求解计算工具: http://tools.jb51.net/jisuanqi/equ_jisuanqi
科学计算器在线使用_高级计算器在线计算: http://tools.jb51.net/jisuanqi/jsqkexue
在线计算器_标准计算器: http://tools.jb51.net/jisuanqi/jsq
Python 抛小球问题 小球下落 距离