【问题标题】:formula to calculate possible random numbers计算可能的随机数的公式
【发布时间】:2011-06-17 10:07:11
【问题描述】:

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

例如:-

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

请帮帮我!谢谢

【问题讨论】:

  • 哦,真的,如果有人有权将此问题移至 stackoverflow 。请这样做。

标签: php javascript random probability


【解决方案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))
}

【讨论】:

  • 所以你的意思是 2 位数有 99 种随机可能性。
  • 如果包含零,则有 100 种可能性,就像包含零的 1 位数字有 10 种可能性一样。一般来说,如果包含零,则 $n$ 数字有 $10^n$ 的可能性。
【解决方案2】:

我不知道这是否是你要找的,但如果 $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$。

【讨论】:

  • 因此,例如,$f(2)$ 在 $\{0,1,\ldots,99\}$ 中返回一个统一的随机值。
  • 除了第一行,我什么都不懂。作为工程师,我感到很丢脸。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-14
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 2019-03-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多