王老头

导航

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

链接:https://www.nowcoder.com/questionTerminal/2f6f9339d151410583459847ecc98446
来源:牛客网

假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高? 

 

    /**
     * 统计出第5次落地时,共经过多少米?
     * 
     * @param high 球的起始高度
     * @return 英文字母的个数
     */
    public static double getJourney(int high)
    {
        return 0;
    }
    
    /**
     * 统计出第5次反弹多高?
     * 
     * @param high 球的起始高度
     * @return 空格的个数
     */
    public static double getTenthHigh(int high)
    {
        return 0;
    }

 

 

 

输入描述:

输入起始高度,int型


输出描述:

分别输出第5次落地时,共经过多少米第5次反弹多高

示例1

输入

1

输出

2.875
0.03125

不知道是不是题目保留小数问题的原因,结果总是AC不过。
while True:
    try:
        num = 5
        out = int(raw_input())
        sumout = out
        for i in range(num):
            out = float(out)/2
            sumout += out * 2
        print(sumout - out*2)
        print(float(out))
    except:
        break

 

看了别人写的,脑洞是真的厉害。。。

import sys
 
while True:
    try:
        string = sys.stdin.readline()
        number = int(string)
        print 2.875 *  number
        print 0.03125 * number
    except:
        break
##按比例缩放就好了。

 

posted on 2018-08-29 22:20  王老头  阅读(152)  评论(0)    收藏  举报