京东抛小球

抛小球

http://www.nowcoder.com/questionTerminal/ae45a1d8bc1d43858c83762fe8c2802c

思路

这题说距离都是整数,是说最终距离总和是整数,由于double的精度问题,不断除2,double最终会成为0
用double写个递归,再转为整数。

递归

import java.util.*;

public class Balls {
    public double cal(double A){
        if(A<=0){return 0;}
        double a=A*2;
        return a+cal(A/2);
    }

    public int calcDistance(int A, int B, int C, int D) {
        double a=A;
        double b=B;
        double c=C;
        double d=D;
        return (int) (A+cal(a/2)+B+cal(b/2)+C+cal(c/2)+D+cal(d/2));
    }
}

数学方法 等比数列求和

public int calcDistance(int A, int B, int C, int D) {
        return 3* (A+B+C+D);
    }
全部评论

相关推荐

程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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