我是网站开发人员。我需要创建一个函数来获取给定长度的字符串的可选随机数。请给出公式。
例如: -
1 digit = 10 (0,1,2,3,......9)
2 digit = (00,01,02,...11,12,13,...)
请帮帮我!感谢
答案 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 $。