Python计算多个项目的概率

时间:2012-08-03 15:04:38

标签: python tuples counting

我想在python中构建一个小程序,计算一个随机数可被数字整除的概率。

在C中,我将创建一个数组,其中包含数字并循环遍历它们,将一个数组添加到另一个存储这些概率总和的数组中。

我尝试在python中使用元组执行此操作,但我无法更改其值。那么最简单的方法是什么?

以下是代码:

primes = (2,3,5,7,11,13,17,19,23,29)
numbers =(0,0,0,0,0 ,0 ,0 ,0 ,0 ,0)

for number in range(2,10000):
    for div in primes:
        x = 0
        if(number % div == 0):
            numbers[x]  += 1
        x+=1



print(numbers)

2 个答案:

答案 0 :(得分:6)

随机整数可被整数n整除的概率为1/n

答案 1 :(得分:1)

作为rich.okelly声明的证明,请考虑一组无数的数字。每个可被整数N整除的数字是N:1N,2N,3N等的倍数。每个第N个数 - 即每组N个连续数中的1 / N个数 - 可被N整除。这适用于整个无限集;所有整数的1 / N可以被N整除。因此,选择一个随机数,其边界是N的倍数(如果你有,比如从1到15的随机数,少于1/10的那些将被10整除)将有1 / N概率可被N整除。

如果您想要的不仅仅是对原则的断言,那么这可能会有所帮助。