📅  最后修改于: 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。也就是说,当两个骰子掷出时,结果之和为素数的可能性并不高。