题解 | #求小球落地5次后所经历的路程和第5次反弹的高度#

求小球落地5次后所经历的路程和第5次反弹的高度

https://www.nowcoder.com/practice/2f6f9339d151410583459847ecc98446

定义一个递归函数,返回值为落地n次所经历的路径
a = float()
def rebound(left, height):
    global a
    height = float(height)
    if left > 0:
        length = height + height/2 + rebound(left-1, height/2)
        return length # 包含一落一弹两个路径长度,和之后的递归计算的路径长度
    else:
        a = height    # 将 height 赋值给全局变量a
        return -height# 由于第五次反弹不计算反弹路径,但是已经提前加上了
                      # 所以返回 -height 抵消之前加进去的路径
print(rebound(5,int(input())), a, sep='\n')


全部评论

相关推荐

昨天 16:31
已编辑
桂林电子科技大学 Python
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务