首页 > 试题广场 >

碰撞的蚂蚁

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

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

测试样例:
3
返回:0.75
头像 山川异域风情万种
发表于 2020-09-10 16:36:26
反向思考:如果把蚂蚁不相撞的概率剔除掉,剩下的就是相撞的。不撞的概率为顺时针和逆时针同向走,所以是0.5n*2,然后1-0.5n*2就可以了。 import math class Ants:     def antsCol 展开全文
头像 xhstar
发表于 2021-10-13 22:36:28
class Ants { public: double antsCollision(int n) { //只有所有蚂蚁同向时才不会相撞 return 1 - pow(0.5, n-1); } };
头像 果粒陈33
发表于 2022-06-18 22:42:19
# -*- coding:utf-8 -*- import math class Ants: def antsCollision(self, n): # write code here return 1 - math.pow(0.5, n-1)
头像 杨沛东
发表于 2024-06-21 00:22:51
import java.util.*; public class Ants { public double antsCollision(int n) { // write code here //每一只蚂蚁的朝向概率都是二分之一 //n只蚂蚁 展开全文
头像 习惯两个人
发表于 2023-02-26 17:58:15
#include <cmath> class Ants { public: double antsCollision(int n) { // write code here double res; res=1-2/double(po 展开全文