题解 | #小球的距离#

小球的距离

http://www.nowcoder.com/practice/e637331ec6254a74a863ccb9040444c4

class Balls {
public: 
    int calcDistance(int A, int B, int C, int D) {
        // write code here
        return 3*(A+B+C+D);
    }
};

/**
*   假设初始高度为 X,则第一次落地经历距离为X; 反跳回高度为 X/2, 因此第二次落地经历距离为 X/2, 
*   第三次为 X/2 的 1/2, 既X/4,每下一次都是上一次的1/2,一般会由此想到等比数列,公比q=1/2
*   假设需要n次该小球不再弹起, 第一次 A1=X*q^1-1=X, A2=A1*q^(2-1)=A1*q=A1*1/2, A3=A1*q^(3-1) 
*   则最后一次经历的距离为 An=A1*q^(n-1)
*   题目要求可认为该等比数列在n趋于正无穷大时的和:
*   Sn=A1+A2+A3+...+An
*   (1) Sn=A1+A1*q^1+A1*q^2+...+A1*q^(n-1)
*       给(1)式等号左右俩边同时乘 公比q 得(2)式:
*   (2) qSn=A1*q+A1*q^1+A1*q^2+...+A1*q^n
*
*   使用(1)式 减 (2)式 的(3)式:
*   Sn-q*Sn=A1-A1*q^n 化简
*   (1-q)Sn=A1(1-q^n)
*   Sn=A1(1-q^n) / (1-q)
*   当n趋于正无穷大时 limt(n->)q^n ~= 0(q<1)
*   因此上式 Sn=A1 / (1-q)
*   当A1=X,q=1/2时: Sn=2*X
*   总距离 = X + X*2 = 3*X
*/
全部评论

相关推荐

ohs的小木屋:比不少实习待遇高了
点赞 评论 收藏
分享
水墨不写bug:疑似没有上过大学
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 17:28
25届每天都在焦虑找工作的事情0offer情绪一直很低落硬撑着面了一个岗位岗位有应酬的成分面试的时候hr给我出各种场景题问的问题比较犀利&nbsp;有点压力面的感觉感觉有点回答不上来本来就压抑的情绪瞬间爆发了呢一瞬间特别想哭觉得自己特别没用没绷住掉眼泪了事后想想觉得自己挺有病的&nbsp;真的破大防了
喜欢唱跳rap小刺猬...:我觉得没关系吧,之前有一次面试leader给我压力面,我顶住了压力,结果入职的时候发现组里氛围很差,果断跑路。其实从面试就能大概看出组的情况,面试体验好的组倒是不一定好,但是面试体验不好的组。。。就很难说
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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