【发布时间】:2020-12-05 11:33:05
【问题描述】:
我有一个带有两个参数的函数,比如 a 和 b。所以基本上,每当我调用这个方法 50% 次它应该返回 a 和 50% 次它应该返回 b。
public string Randomization(string a, string b)
我想过使用随机数生成来做到这一点,如果生成的数字是偶数,则返回 a,如果是奇数,则返回 b。我怎么能做到这一点,或者还有其他简单的方法吗?
【问题讨论】:
-
随机生成 0 或 1 并执行 if-else 语句。这可能会对您有所帮助:stackoverflow.com/questions/1493051/random-number-0-or-1
-
50% 的时间不会帮助随机。按照你的逻辑说,如果随机数连续给出 4 个偶数,它的 100%a 和 0%b。所以,如果 50% 是硬性规定,那么你需要保留一个计数器和 /2 来确定它应该是 a 还是 b。
-
需要多少次试验才能产生这 50%?以及百分比需要有多准确。要求精确地 50% 意味着实现它的唯一方法就是交替返回
a或b。 -
@Damien_The_Unbeliever 不,不需要交替。您可以将
a和b中的n / 2放在一个列表中,然后随机播放。生成的序列将具有随机顺序,但仍具有 50/50 的结果分布。