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


    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 多平台发布

  • 相关阅读:
    70.C++虚析构函数
    什么是智能推荐?智能推荐的原理是什么?
    基于深度学习的车辆检测系统(MATLAB代码,含GUI界面)
    ESP32-C3入门教程 系统篇⑤——FreeRTOS线程任务创建和销毁的内存开销 / 任务运行之间的动静态内存分配
    【【萌新的FPGA学习之按键控制LED实验】】
    Android中使用AOP进行拦截统一处理功能(如网络判断)
    pytest 命令的使用
    Web端与App端自动化测试框架
    【笔记】Promise入门到实现
    JSON和全局异常处理
  • 原文地址:https://blog.csdn.net/qq_40523298/article/details/127540602