私は要素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
ます。