【发布时间】:2019-11-02 05:15:43
【问题描述】:
假设我有一个数组 probabilities = [0.1, 0.2, ..., 0.1, 0.4] n 元素。这些是浮点值,而不是整数权重。
如何使用 Ansi C 中的给定概率从 1 到 n 中提取随机整数?
probabilities = [0.1, 0.2, 0.1, 0.15, 0.05, 0.1, 0.4]
extract_random_integer(probabilities)
【问题讨论】:
-
@Blaze 对此犹豫不决。接受的答案有些适应性,但显然所有其他答案都只有 C++。
-
@Blaze 特别是它在那里工作,因为权重是整数,这些是浮点数。
-
当然,您可以调整代码以使其与浮点数一起使用。权重的类型实际上并不重要。无论如何,基本问题在某种程度上与语言无关。几乎所有编程语言都在 Stack Overflow 上询问了它的变体,答案基本相同(除非所讨论的语言已经在库中实现了它)。
-
你是对的,我已经投票决定关闭为重复。我去喝咖啡。
标签: c arrays random probability