CC33:碰撞的蚂蚁
题目
在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率。(这里的相撞是指存在任意两只蚂蚁会相撞)
给定一个int n(3<=n<=10000),代表n边形和n只蚂蚁,请返回一个double,为相撞的概率。
测试样例:
3
返回:0.75
解法
这道题考察数学的,每只蚂蚁都可以选择走临近的两条边其中的一条,所以总共有\(2^{n}\)种情况。所有蚂蚁不相撞的的情况为都朝,向同一个方向,要么顺时针、要么逆时针,两种情况,所以最后拿1一减就行了。
class Ants {
public:
double antsCollision(int n) {
// write code here
if(n<3) return 0;
return (1-2/pow(2,n));
}
};
作者:YunLambert
-------------------------------------------
个性签名:一名会音乐、爱健身的不合格程序员
可以Follow博主的Github哦(っ•̀ω•́)っ✎⁾⁾