首页 > 试题广场 >

碰撞的蚂蚁

[编程题]碰撞的蚂蚁
  • 热度指数:7233 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

平面上n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行(一个顶点一只蚂蚁,蚂蚁速度都一样)。现给定一个int n(3<=n<=10000),代表n边形和n只蚂蚁,编写函数返回会有蚂蚁相撞的概率double值。

测试样例:
3
返回:0.75
import java.util.*;

public class Ants {
    public double antsCollision(int n) {
        // 当且仅当蚂蚁保持同向时才不会发生碰撞
        return 1- Math.pow(2,-n+1);
    }
}
发表于 2023-05-06 16:59:53 回复(0)

    //任何多变行都只有在蚂蚁走同一方向才不会相撞,走同一方向有两种可能,
    //所以任何多边行下所有可能是2的n次方
    public double antsCollision(int n) {
        // write code here
        return 1 - 2.0/(2<<(n-1));
    }
发表于 2022-12-29 14:14:00 回复(0)
import java.util.*;

public class Ants {
    public double antsCollision(int n) {
        // write code here
    	double res = 0.0;
    	res = 1 - 2 / Math.pow(2, n);
    	return res;
    }
}

发表于 2019-12-13 17:16:49 回复(0)

问题信息

难度:
3条回答 12225浏览

热门推荐

通过挑战的用户

查看代码