小编paa*_*had的帖子

Ruby - 在一个数组中选取一个元素,有50%的几率获得[0],有25%的几率获得[1]

没有什么太复杂,基本上我只是想从数组中选择一个元素,好像我正在为每个索引进行硬币抛出,并在我第一次得到头时选择索引.也没有头意味着我选择最后一个垃圾箱.

我想出了以下内容,并想知道是否有更好/更有效的方法来做到这一点.

def coin_toss(size)
  random_number = rand(2**size)
  if random_number == 0
    return size-1
  else
    return (0..size-1).detect { |n| random_number[n] == 1 }
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby probability

3
推荐指数
2
解决办法
2046
查看次数

标签 统计

probability ×1

ruby ×1