【程序员面试金典】在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率。(这里的相撞是指存在任意两只蚂蚁会相撞)

与概率相关的算法题C++解法(附证明过程) 一、常考题型 1、客观题(选择题); 2、古典概率、期望的计算,不涉及高等概率和微积分; 3、利用随机来改进著名的算法(快速排序); 4、随机数发生器(根据给定的随机数发生器构造另一个)。 二、练习题 1、有2k只球队,有k-1个强队,其余都是弱队,随机把它们分成k组比赛,每组两个队,问两强相遇的概率是多大?结果化成最简分数。 解法:该题的难点有两点: ①总组队方法数的计算。用C( 阅读详情

题目描述

在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率。(这里的相撞是指存在任意两只蚂蚁会相撞)

给定一个int n(3<=n<=10000),代表n边形和n只蚂蚁,请返回一个double,为相撞的概率。

测试样例:

3
返回:0.75

思路:每个蚂蚁爬行的方向都有两个,即围绕多边形顺时针爬和逆时针爬,因此n个蚂蚁爬行的方法有2^n种。

只有当所有的蚂蚁按照同一个方向爬行才能保证所有的蚂蚁都不相撞,只有两种方法--都按逆时针或顺时针方向爬行。

所以相撞的概率为1 - (double)2 / (2 ^n)

代码如下所示:

class Ants {
public:
    double antsCollision(int n) {
        // write code here
        double temp=1.0/(pow(2,n)) * 2;
        double ans=1.0-temp;
        return ans;
    }
};

 

蚂蚁碰撞概率计算 题目分析,无论是几只蚂蚁,因为每个蚂蚁占据一个顶点,因此不发生碰撞的情况只有2种,即全部都顺时针爬行或者逆时针爬行。所以只要求出一共爬行的情况就好,而显然有2n 2^n 种情况。第一次提交的代码如下:import java.util.*;public class Ants { public double antsCollision(int n) { // write cod 阅读详情

相关推荐

FAGLB03余额显示异常排查与修复指南

本文针对SAP新总账中FAGLB03报表余额显示异常问题,提供了专业的排查与修复指南。文章深入剖析了数据不一致的核心原因,如FAGLFLEXT汇总表与凭证明细不同步、年度余额结转(FAGLGVTR)失败等,并详细介绍了使用FAGLF03进行精准诊断、通过SE38执行标准调整程序TFC_ADJUST_VZ进行修复的标准操作流程,帮助用户快速恢复数据一致性,确保财务报表的准确性。

weixin_29313423的博客 307

牛客网 | 碰撞的蚂蚁

在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率。(这里的相撞是指存在任意两只蚂蚁会相撞)  给定一个int n(3 思路:  每个蚂蚁爬行的方向都有两个,即围绕多边形顺时针爬和逆时针爬,因此n个蚂蚁爬行的方法有2^n种。  只有当所有的蚂蚁按照同一个方向爬行才能保证所有的蚂蚁都不相撞,只有两种方法--都按逆时针或顺时针方向爬行。

weizaishouex2010的专栏 612

基于Sentinel-2(哨兵2)遥感卫星的植被覆盖度提取

基于Sentinel-2(哨兵2)遥感卫星的植被覆盖度提取 一、Sentinel-2简单介绍 哨兵-2系列卫星的主要载荷多光谱成像仪拥有13个谱段,从可见光到近红外再到短波红外,空间分辨率从10m到60m,能实现全所未有的陆地海洋监测水平。其幅宽高达290KM,且A、B双星组合,覆盖能力比美国Landsat8卫星强很多。目前哨兵-2A和哨兵-2B已经实现了5天的重访时间,即使在之前仅有单颗卫星时,...

weixin_44143671的博客 2万+

nowcoder 蚂蚁

题目 n只蚂蚁从正n边形的n个定点沿着边移动,速度是相同的,问它们碰头的概率是多少? 给定一个正整数n,请返回一个数组,其中两个元素分别为结果的分子和分母,请化为最简分数。 测试样例: 3 返回:[3,4] 思路 2n−22n'>2n−22n2n−22n\frac{2^n-2}{2^n} 代码 class Ants: def gcd(self, x, y

SparkSnail 331

ArcMap投影变换避坑指南:为什么你的坐标转换总出错?常见问题解析与解决方案

本文深入解析ArcMap中坐标转换与投影变换的核心区别与常见陷阱。针对坐标转换总出错的问题,从混淆“定义投影”与“投影变换”、栅格数据重采样选择、矢量数据地理变换参数设置等关键环节,提供清晰的避坑指南与实战解决方案,帮助用户确保空间数据的精确匹配。

weixin_29210727的博客 356

3D医学影像分割新突破:手把手教你用MedSAM2快速标注CT/MRI数据(附3D Slicer插件配置)

本文详细介绍了如何利用MedSAM2模型进行3D医学影像分割,包括从环境准备到3D Slicer插件配置的全流程。通过实战案例和技巧分享,帮助医疗从业者快速掌握CT/MRI数据的高效标注方法,提升医学影像分析的准确性和效率。

ujm5678901的博客 299

《Cracking the Coding Interview》——第7章:数学和概率论——题目2

2014-03-20 01:59 题目:有n只蚂蚁在正n边形的n个顶点,同时以同速率开始沿着边走。每只蚂蚁走的方向是随机的,那么这些蚂蚁至少有两只发生碰撞的概率是多少。 解法:只有所有蚂蚁都往一个方向走才不会碰撞,所以不碰的概率就是2/2^n,碰的概率就用1减去喽。 代码: 1 // 7.2 n ants are standing on the vertices of an ...

weixin_30784945的博客 171

OpenClaw 在 Docker 容器中的部署实战——零配置启动

本文介绍了OpenClaw在Docker容器中的快速部署方法,对比了本地部署与容器化部署的优势。通过官方镜像和Docker Compose两种方式,5分钟即可完成部署,并详细讲解了配置管理方案(挂载配置文件和环境变量)。文章还提供了飞书集成配置方法,以及生产环境下的日志管理、资源限制、健康检查等优化建议。最后包含常见问题排查指南,帮助开发者快速实现OpenClaw的容器化部署。

刘一说的IT专栏 904

碰撞的蚂蚁

题目:在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率。(这里的相撞是指存在任意两只蚂蚁会相撞) 给定一个int n(3<=n<=10000),代表n边形和n只蚂蚁,请返回一个double,为相撞的概率。 分析:总共有2^n可能,不相碰的情况只有2个方向, p=(2^n-2)/2^n class Ants { public: d

数据小冰的博客 608

网络工程师教程第6版(2024年最新版)

本书 根据《网络工程师考试大纲》(2024年审定通过)编写,对网络工程师岗位所要求的主要知 识及应用技术进行了阐述。本书主要内容包括数据通信、局域网、无线通信网、网络互连、网络安全、网络操作系统与应用服务器、组网技术、网络管理、网络规划和设计。本书是参加网络工程师考试的必备教材,也可作为网络工程从业人员学习网络技术的教材或日常工作的参考用书。王涛和严体华编写了第2章、第3章和第4章;网络工程师教程(第6版)由清华大学出版社出版,由工业和信息化部教育与考试中心组编,张永刚、王涛、高振江任主编,具体介绍如下。

鹿鸣天涯 6901

零基础快速学习 ABAP 读者意见反馈和下一步写作计划表

大家在学习教程过程中,如果有任何关于 SAP ABAP 开发方面想了解的内容,可以直接在教程各篇文章下评论留言,我会将大家的意见统一汇总到下面的表格,作为我更新教程的内容参考来源之一。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4271

碰撞的蚂蚁 牛客网 程序员面试金典 C++ Java Python

碰撞的蚂蚁 牛客网 程序员面试金典 C++ Java Python 题目描述 在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率。(这里的相撞是指存在任意两只蚂蚁会相撞) 给定一个int n(3<=n<=10000),代表n边形和n只蚂蚁,请返回一个double,为相撞的概率...

dianwonin4433的博客 90

SAR合成孔径雷达成像及处理(附带Matlab源代码)

总结:本文介绍了SAR合成孔径雷达的基本原理,并提供了使用Matlab实现SAR成像和处理的源代码示例。然后,在慢时间域进行方位压缩处理,通过计算每个接收通道的延迟和频移,将多次接收的信号叠加得到最终的成像结果。SAR成像的基本原理是通过接收雷达发射的脉冲信号的回波,并利用多次接收的信号进行叠加处理。以多普勒频移校正为例,根据雷达飞行速度和方位角,计算实际的多普勒频率,并对每个接收通道的数据进行频移校正,以消除因目标运动引起的频率偏移。通过调整参数和算法,可以实现不同的SAR成像和处理效果。

ByteJolt的博客 688

程序员面试金典 -- 碰撞的蚂蚁

程序员面试金典 -- 碰撞的蚂蚁 题目描述 在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率。(这里的相撞是指存在任意两只蚂蚁会相撞) 给定一个intn(3<=n<=10000),代表n边形和n只蚂蚁,请返回一个double,为相撞的概率。 测试样例: 3 返回:0.75 有n个蚂蚁,则有 2 ^ n 种...

weixin_30617695的博客 152

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

程序员面试金典--面试32之碰撞的蚂蚁

题目描述 在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率。(这里的相撞是指存在任意两只蚂蚁会相撞) 给定一个int n(3 测试样例: 3 返回:0.75 思路:每个顶点连着两条边,所以一只蚂蚁有两种选择,可以随意的走一条边,n只蚂蚁有2^n种路线,但是只有每只蚂蚁走不同的边才不会碰撞,所以有顺时针和逆时针两种安全走法,其他的走法都

hj605635529的博客 462

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

程序员面试金典:找出缺失的整数、碰撞的蚂蚁

1.找出缺失的整数 题目描述 数组A包含了0到n的所有整数,但其中缺失了一个。对于这个问题,我们设定限制,使得一次操作无法取得数组number里某个整数的完整内容。唯一的可用操作是询问数组中第i个元素的二进制的第j位(最低位为第0位),该操作的时间复杂度为常数,请设计算法,在O(n)的时间内找到这个数。 给定一个数组number,即所有剩下的数按从小到大排列的二进制各位的值,如A[0][1]表示剩下的第二个数二进制从低到高的第二位。同时给定一个int n,意义如题。请返回缺失的数。 测试样例:

热爱技术、喜欢学习、乐于分享 336

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

蚂蚁碰撞概率

雪儿的专栏 1017

碰撞的蚂蚁LeetCode简单题

平面上n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行(一个顶点一只蚂蚁,蚂蚁速度都一样)。现给定一个int n(3<=n<=10000),代表n边形和n只蚂蚁,编写函数返回会有蚂蚁相撞的概率double值。 测试样例: 3 返回:0.75 class Ants { public: double antsCollision(int n) { // write code here return (double)(1 - pow(

轩玉的博客 502

Interview Q A 三只蚂蚁不相撞的概率是多少

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在三角形的三个顶点上各

yffhhffv的博客 678

百度笔试编程题:爬行的蚂蚁(c++)

题目: 有一个长m细木杆,有n只蚂蚁分别在木杆的任意位置。 木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头, 但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。 编写程序,求所有蚂蚁都离开木杆 的最小时间和最大时间。 思路: 首先,讲一下思路:蚂蚁碰头后掉头,可以当作蚂蚁可以直接

Benson的学习笔记 5729

算法竞赛入门经典训练指南(1)

问题: 一根长度为L厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为1厘米/秒。当两只蚂蚁相撞时,二者同时掉头(掉头时间忽略不计)。给出每只蚂蚁的初始位置和朝向,计算T秒之后每只蚂蚁的位置。 仿真过程:记录程序设计时候考虑到一些问题 1:数学推导还是程序仿真? 2:角色定位 蚂蚁是个体元素,受规则约束,结果的执行者。木棍扮演上帝的角色,设置情景(木棍的长度,运行时间),

wdhxek 964

POJ 1852 Ants(弹性碰撞问题)

Ants Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 12607 Accepted: 5525 Description An army of ants walk on a horizontal pole of

Chunzhen的博客 5448

有n只蚂蚁在一根木棍上,蚂蚁们只知道距左端的距离,棍子的长度,但不知道他们的朝向,蚂蚁们走到端点的时候会落下木棍,求所有蚂蚁们走过的最短和最长路程。

本题目看似很难,其实很简单,就下几行代码。自己模拟一下过程就可以发现可以将蚂蚁间走过的路程互相补在一起的话。 若有n只蚂蚁。 Sn = n只蚂蚁走过的路程总和;    an = 棍子长度 - 此蚂蚁距某端的最短距离; Sn = an的前n项求和   在代码中 int x[n];  之所以可以编译的原因是在之上有     int n,length;     scanf("%d%d",&a...

xlh006的博客 2484
上一篇: 【程序员面试金典】有一个单色屏幕储存在一维数组中,其中数组的每个元素代表连续的8位的像素的值,请实现一个函数,将第x到第y个像素涂上颜色(像素标号从零开始),并尝试尽量使用最快的办法。
下一篇: 【程序员面试金典】给定直角坐标系上的两条直线,确定这两条直线会不会相交。
HelloZEX
博客等级 码龄11年 486粉丝 264原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值