程序员面试金典——7.2碰撞的蚂蚁
Solution:按照书上的思路写的
每个蚂蚁有两种爬行选择,共有
2n
2
n
种方案,只有当所有的蚂蚁同时顺时针爬行或逆时针爬行时,才不会相撞,所以不相撞的概率是
P0=22n=12n−1
P
0
=
2
2
n
=
1
2
n
−
1
,相撞的概率
1−P0
1
−
P
0
。OK
class Ants {
public:
double antsCollision(int n) {
// write code here
double temp = 1.0;
for(int i = 1; i < n; i++)
temp *= 0.5;
return 1 - temp;
}
};