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

2018-10-31  本文已影响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。
你有新方法吗?讲下~

上一篇 下一篇

猜你喜欢

热点阅读