📌  相关文章
📜  当两个骰子同时掷出时,结果之和为素数的概率是多少?(1)

📅  最后修改于: 2023-12-03 15:09:50.693000             🧑  作者: Mango

计算掷出两个骰子结果之和为素数的概率

问题描述

当两个骰子同时掷出时,结果之和为素数的概率是多少?

解决方案

我们可以通过枚举两个骰子掷出的所有可能结果之和,然后统计素数的数量,最后除以总的情况数来得到概率。

具体来说,我们可以写一个双重循环,其中第一重循环枚举第一个骰子的结果,第二重循环枚举第二个骰子的结果。在内部循环中,我们可以计算两个结果之和是否为素数,如果是,就将计数器加1。最后,我们将计数器除以总的情况数即可得到概率。

注意: 两个骰子的点数从1到6,所以两个点数之和的取值范围是2到12。在判断一个数是否为素数时,可以使用简单的试除法。

代码实现
def is_prime(n):
    """判断一个数是否为素数"""
    if n < 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

count = 0  # 记录素数数量
total = 0  # 记录总的情况数
for i in range(1, 7):
    for j in range(1, 7):
        if is_prime(i + j):
            count += 1
        total += 1

p = count / total

print(f"结果之和为素数的概率为 {p:.2f}")
结果分析

我们可以运行上面的代码,得到结果之和为素数的概率为约0.17。也就是说,当两个骰子掷出时,结果之和为素数的可能性并不高。