Python解决高考英语7选5得分概率问题

高考英语试卷上有一道7选5的选词填空,有没有想过为什么是7选5,而不是其他的,算一下7选5的得分概率,你便知道这到题的得分概率是所有题中最大的。

数学方法求解

问题转化为求解不得分的概率

假设正确答案为ABCDE,选项为ABCDEFG。

  1. ABCDE的排列

    • 每个选项都不在其正确位置上的排列数为44。
  2. 从ABCDE中选取4个,FG中选1个  C_{5}^{4}C_{2}^{1}=10

    • 情况1:F在E的位置上,排列数为9。
    • 情况2:F不在E的位置上,排列数为44。
  3. 从ABCDE中选取3个  C_{5}^{3}=10

    • 情况1:F在D的位置,且G不在E的位置的方法数为9;如果G在E的位置,则方法数为2。
    • 情况2:F不在D的位置,且G不在E的位置的方法数为44;如果G在E的位置,则方法数为9。

全错的概率计算为:

P_{\left( mistake \right)}=\frac{44+C_{5}^{4}C_{2}^{1}\left( 9+44 \right) +C_{5}^{3}\left( 9+2+44+9 \right)}{A_{7}^{5}}=0.4817

错排数

n个元素对应n个位置编号为(1~n),元素编号与位置编号都不的对应的方法数为错排数,用 !n 表示

!n = (n - 1)(!(n - 1) + !(n - 2))

通项式为:

!n = n! \left( \frac{1}{0!} - \frac{1}{1!} + \frac{1}{2!} - \frac{1}{3!} + \ldots + \frac{(-1)^n}{n!} \right)

!n = n! \sum_{i=0}^{n} \frac{(-1)^i}{i!}

代码求解

求解错排数

# 动态规划算法求解错排数

def derangement_dp(n):
    if n == 0:
        return 1
    elif n == 1:
        return 0

    dp = [0] * (n + 1)
    dp[0], dp[1] = 1, 0

    for i in range(2, n + 1):
        dp[i] = (i - 1) * (dp[i - 1] + dp[i - 2])

    return dp[n]

# 示例
n = 5
print(derangement_dp(n))

求解得分概率

# 求解的是全错的概率

import numpy as np
import time

list_1 = [1, 2, 3, 4, 5, 6, 7]
count = 0         # 猜对次数
times = int(input("请输入运行次数:"))     # 测试总次数

for i in range(int(times)):
    # 生成标准答案
    tmp = list_1[:]
    for j in range(2):
        num = np.random.randint(len(tmp))
        tmp.remove(tmp[num])
    np.random.shuffle(tmp)
    # 随机猜一个答案
    test = list_1[:]
    for j in range(2):
        num = np.random.randint(len(test))
        test.remove(test[num])
    np.random.shuffle(test)
    # 生成数组比较
    tmp = np.array(tmp)
    test = np.array(test)
    ans = tmp - test
    # 全部答案错误
    if 0 not in ans:
        count += 1

print(f"全错次数{count}次")
print("全错的概率")
print(f"试验值:{count}/{times} = {count/times}")
print("理论值:", 607 / 1260)

迭代100000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值