如果我有256位数组(选择器),我可以使用256位数组从54个元素的数组中选择5个元素吗?可以从选择器阵列中仅取出前K个位来完成它而不是全部使用256位。 要求是:
我知道可以从54个数组中选择5个元素的2,598,960种组合,而不关心选择它们的顺序。
答案 0 :(得分:0)
好吧,如果2 ^ K大于2.598,960 *,您可以使用K位来选择5个元素。你不会得到一个完全统一的分布,因为没有2的幂可以被2,598,960整除。
*我没有检查你的数学,我只是假设2,598,960是正确的
答案 1 :(得分:0)
你需要选择54中的一个,53个中的一个,...... 50中的一个。将随机位6一次作为1..64的数字。简单地丢弃任何太大(超过54,53或其他)。平均而言,您需要六到七次尝试才能获得5个随机数。你有42个可用,所以你没有机会用完,你的发行将完全统一。