京东笔试我是真的无语了,到底错哪了,大神帮看看吧

一个半径R的圆,圆内取一点作圆心,做半径为r的圆,求两圆相交的概率。
我就分了r < R, r > R && r < 2*R, r > 2*R这几种情况考虑,然后画图分析了一下,
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int R = in.nextInt();
        int r = in.nextInt();
        double Rs = R * R * 3.14;
        double x = 0;
        if (r < R) {
            int d = R - r;
            x = (Rs - d * d * 3.14) / Rs;
        } else if (r == R) {
            x = 1;
        }else if (r > R && r < 2 * R) {
            int d = r - R;
            x = (Rs - d * d * 3.14) / Rs;
        }else {
            x = 0;
        }
        System.out.println(x);
    }
}
最后一直只通过40%,我是真的无语了,死活找不出问题唉,

#京东##京东笔试#
全部评论
(R^2-(R-r)^2)/R^2
1 回复 分享
发布于 2022-10-22 21:44 陕西
这么晚还有笔试啊
1 回复 分享
发布于 2022-10-23 10:06 北京
感觉条件 r > R && r < 2 * R  有点冗余,这里默认就已经 r > R了,直接 r < 2 * R 就可以了
点赞 回复 分享
发布于 2022-10-23 06:16 美国

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务