• 一段木棍剪成三段,能够组成三角形的概率是多少


    A stick break 3 pieces, what 's percentage of form a triangle? 一段木棍剪成三段,能够组成三角形的概率是多少?

    好题!

    alt

    eric的做法如下:

    alt

    emma的做法如下:

    alt

    大喵老师问同学们,两种做法用python模拟看结果是否相同?

    eric的做法:假设eric不知疲倦地实验了10000次。每次随机生成两个位置,剪断后获取三段长度判断是否满足:两个最短的相加是否大于最长的?

    import random
    random.seed()
    num = 10000

    def formTriangle(num,lng=100):
        form = 0
        for _ in range(num):
            ratio_1st = random.random()
            ratio_2nd = random.random()
            lft,rgt = lng*ratio_1st,lng*(1-ratio_1st)
            c_lft = lft * ratio_2nd
            a,b,c = sorted([lft-c_lft,c_lft,rgt])
            form += a + b > c

            c_rgt = rgt * ratio_2nd
            a,b,c = sorted([rgt-c_rgt,c_rgt,lft])
            form += a + b > c
        return form
        
    print(formTriangle(num,lng=100))
    2469
    • 1

    10000次实验模拟其中某次的结果之一是 2469

    增加模拟次数为:100000

    num = 100000
    print(formTriangle(num,lng=100))

    25031
    • 1

    接下来看emma的做法,注意emma分两步。

    第一步先剪成两段,第二步是随机选择其中的一小段,再选择好后,再随机选择位置剪断。看上图。

    假设:我们认为第二步随机选择的结果必然是左边或者右边的一小段,此处emma采用random.choice(lft,rgt)

    看emma的代码:

    import random
    random.seed()
    num = 10000

    def formTriangle(num,lng=100):
        form = 0
        for _ in range(num):
            ratio_1st = random.random()
            lft,rgt = lng*ratio_1st,lng*(1-ratio_1st)

            select = random.choice([lft, rgt])
            ratio_2nd = random.random()

            if select == lft:
                c_lft = lft * ratio_2nd
                a,b,c = sorted([lft-c_lft,c_lft,rgt])
                form += a + b > c
            else:
                c_rgt = rgt * ratio_2nd
                a,b,c = sorted([rgt-c_rgt,c_rgt,lft])
                form += a + b > c
        return form
        
    print('emma solve: ',formTriangle(num,lng=100))

    emma solve:  1900

    • 1

    10000次实验模拟其中某次的结果之一是 2469

    增加模拟次数为:100000

    emma solve:  19389
    • 1

    丁丁猫的同学们思考几个问题:

    1、到底谁是对的?

    2、如何用数学方法计算证明?

    3、上周的课程讲到的这道题与今天的概率问题有什么共同遵循的规律?

    上周的题目挑战:

    全年级有500名学生,老师统计发现戴口罩和戴眼镜的同学后发现: 所有不戴口罩的同学之中,有2/3的同学不戴眼镜; 所有不戴眼镜的同学之中,有3/4的同学不戴口罩; 有60名同学既戴口罩,又戴眼镜;

    请问: 戴口罩的同学有多少? 戴眼镜的同学有多少?

    我们似乎正在接近某个经典的概率公式,你能发现这个公式吗?

    本文由 mdnice 多平台发布

  • 相关阅读:
    华为机试真题 Python 实现【最大化控制资源成本】【2022.11 Q4 新题】
    超千万下载量的NPM包遭黑客攻击,美国监管机构紧急警告
    无胁科技-TVD每日漏洞情报-2022-9-8
    10_ue4进阶_添加倒地和施法动作
    计算机毕业设计Javaweb硕士研究生招生考试专业报考查询及学习系统设计与实现(源码+系统+mysql数据库+lw文档)
    node.js室内装修风格选择系统毕业设计-附源码211552
    【自撰写】【国际象棋入门】第7课 常见战术分析(二)牵制、驱赶和腾挪
    开源项目audioFlux: 针对音频领域的深度学习工具库
    Java中使用Jsoup实现网页内容爬取与Html内容解析并使用EasyExcel实现导出为Excel文件
    10 年国内算法大神经验总结的数据结构与算法详解终于学完
  • 原文地址:https://blog.csdn.net/qq_40523298/article/details/127540602