V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
crella
V2EX  ›  分享创造

写了个求一些简单概率计算的 DSL??吧,求建议

  •  
  •   crella · 2020-04-16 14:45:22 +08:00 · 1673 次点击
    这是一个创建于 1667 天前的主题,其中的信息可能已经有所发展或是发生改变。

    写了个求一些简单概率计算的 DSL ??吧

    我数学比较差,概率和排列组合题对我来说都很难。备考中发现一题:

    “随机安排甲、乙、丙 3 名志愿者为某学生辅导数学、物理、化学、生物 4 门学科, 每名志愿者至少辅导 1 门学科,每门学科由 1 名志愿者辅导, 求数学学科恰好由甲辅导的概率 P 。”

    我想了一会儿想不出来,于是下决心用 Ruby 写个小工具解决这些罗里吧嗦的问题。

    rbcode01.jpg

    当然这么简单的活也没多大意思。复杂一点的见这个: https://gitee.com/crella/sawdust4/blob/master/sanla/test_probab_02.rb ,它解决问题是:

    样本数组 A 是有 1,2,3 中任意值组成的有 4 个元素的无序集合的非重复集合,A 的元素有:

    [1, 1, 1, 1] ; [1, 1, 1, 2] ; [1, 1, 1, 3] ; [1, 1, 2, 2] ; [1, 1, 2, 3] ;

    [1, 1, 3, 3] ; [1, 2, 2, 2] ; [1, 2, 2, 3] ; [1, 2, 3, 3] ; [1, 3, 3, 3] ;

    [2, 2, 2, 2] ; [2, 2, 2, 3] ; [2, 2, 3, 3] ; [2, 3, 3, 3] ; [3, 3, 3, 3]

    问题一:

    样本数组 A 里含有多少个样本,满足以下条件任一个:

    样本集合含有两个或以上的 2 或 样本集合含有相邻的 3 => 11 个

    问题二:

    样本数组 A 里含有多少个样本,满足以下条件:

    样本集合内重复的数最多有 3 个 => 6 个

    问题三:

    样本数组 A 里含有多少个样本,满足以下条件:

    样本集合里存在 3 个数,且其和=8 => 3 个

    问题四:

    样本数组 A 里含有多少个样本,满足以下条件:

    样本集合里存在相邻的数 a 且 a 是奇数 => 11 个样本


    想看看各位大佬对这些虽然不复杂但是很麻烦的问题有什么好的解决办法。

    1 条回复    2020-04-17 07:54:25 +08:00
    biaoxie
        1
    biaoxie  
       2020-04-17 07:54:25 +08:00
    这叫穷举。。好的解决方法就是别逃课好好学概率
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2757 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:42 · PVG 20:42 · LAX 04:42 · JFK 07:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.