美文网首页
据说这道题没有上过三年级根本算不对

据说这道题没有上过三年级根本算不对

作者: 小洁忘了怎么分身 | 来源:发表于2018-10-31 23:56 被阅读72次

    话说豆豆花花的学习小组已经办到了第8期。这一期学员异常活跃可爱。今天群里提了一个问题,花花解答了一下。概率题,好玩的很!

    题目在此

    已知一箱彩色球颜色分布为:红色30%,黄色40%,蓝色20%,黑色10%,随机抓一些球,希望它们中至少有一个是蓝色球的概率不低于90%,那么最少需要抓多少球?
    A.6
    B.11
    C.16
    D.25

    懵了?来捋捋。

    1.问题只涉及到了蓝色,所以把球分两类,蓝色和非蓝色。此处参照生信技能树的jimmy大神名言:文件只有两类,文本和hui(非)文本!
    2.不低于,就是≥。
    3.逆向思维,至少有一个是蓝色的概率=1-“没有一个是蓝色的概率”。

    解题的关键是算出“没有一个是蓝色”的概率。

    假设抓取x个球。

    1-(1-0.2)^x≥0.9,求x的最小值.

    现在事情就是0.8^x≤0.1,求那个x咯。
    瞄一眼选项,最多25。好的,那么我们用懒人的办法--R语言来解决一下。
    此处居然滋生出花花的笨办法,豆豆和花花各自的新方法!

    1.先看花花的笨办法

    options和as.character都是为了解决小数点后位数太多的问题。

    options(digits = 2)
    for (i in 1:25){
      print(c(as.character(i),0.8^i))
    }
    
    丑哭了

    2.再看花花的新方法

    杀手锏tidyverse使出来!

    library(tidyverse)
    x <- data.frame(i=seq(1:25))%>%
      mutate(p=0.8^i)
    

    顺便解释一个常见报错:
    Error in data.frame(i = seq(1:25)) %>% mutate(p = 0.8^i) :
    could not find function "%>%"
    没找到管道操作符?其实他属于tidyverse的一个包,加载tidyverse就能解决这个报错。

    3.再看豆豆的新方法

    options(digits = 2)
    i <- 1:25
    z <- data.frame(t(rbind(i,sapply(i, function(x) 0.8^x))))
    

    都是生成了一个满足本强迫症的表,然后从里面偶遇一下那个<0.1的数。



    好的,那么答案就是11。
    你有新方法吗?讲下~

    相关文章

      网友评论

          本文标题:据说这道题没有上过三年级根本算不对

          本文链接:https://www.haomeiwen.com/subject/bxiztqtx.html