没有什么太复杂,基本上我只是想从数组中选择一个元素,好像我正在为每个索引进行硬币抛出,并在我第一次得到头时选择索引.也没有头意味着我选择最后一个垃圾箱.
我想出了以下内容,并想知道是否有更好/更有效的方法来做到这一点.
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)