我有元素0
和1
. 我想获得它们可能变化的数组,每个变化的长度为k
,其中k = 2^(2^n) (n = 0, 1, 2, ...)
。目前,我这样做:
case k
when 2 then ['0', '1']
when 4 then [0, 1].product([0, 1]).map(&:join)
when 16 then [0, 1].product([0, 1]).product([0, 1]).map(&:flatten).product([0, 1]).map(&:flatten).map(&:join)
end
但这并不优雅。什么是一个好的解决方案k
?我的只适用于2^1
,2^2
和2^4
.