计算可能的随机数的公式

时间:2011-06-17 10:07:12

标签: php javascript random probability

我是网站开发人员。我需要创建一个函数来获取给定长度的字符串的可选随机数。请给出公式。

例如: -

1 digit = 10 (0,1,2,3,......9)
2 digit = (00,01,02,...11,12,13,...)

请帮帮我!感谢

2 个答案:

答案 0 :(得分:1)

使用$ n $十进制数字的最小可能值为零(假设您不允许负数,我假设您没有),最大值为$ 99 \ dots 9 $,其中有$ n $ $ 9 $秒。写这个数字的较短方式是$ 10 ^ n - 1 $,所以你的函数应该返回每个数字的列表,从$ 0 $到$ 10 ^ n - 1 $。

在许多编程语言中,写这个是微不足道的:

在Python 2.7中:

def sample(n):
    return range(10**n)

在R:

sample <- function(n) {
    return(seq(0, 10^n-1))
}

答案 1 :(得分:0)

我不知道你是否正在寻找,但如果$ U $是一个统一的$(0,1)$随机变量,那么 $ X:= \ left \ lfloor {10 ^ n U} \ right \ rfloor $,其中$ \ left \ lfloor \ cdot \ right \ rfloor $是floor函数,在$ \ {0,1上有一个离散的均匀分布,\ ldots,10 ^ n - 1 \} $;也就是说,$ {\ rm P}(X = k)= \ frac {1} {{10 ^ n}} $,对于任何$ k \ in \ {0,1,\ ldots,10 ^ n-1 \ } $。所以公式是$ f(n)= \ left \ lfloor {10 ^ n U} \ right \ rfloor $。