を押されて、あなたは順序は重要ではありませんでしたので、私達はちょうどユニークな組み合わせを必要とすると述べました。また、各ボタンは一度しか押せないと言った。 また、あなたはそれをルビーを使って解決したいと言っていました。なぜ、完全に簡単な方法があるときに、あなた自身の複雑な方法を書くのですか?
ハッシュではなく配列を必要としているようです。
これはそれを実現しますが、配列に:
[0,1,2,3,4,5,6,7,8,9].combination(4).to_a
これはハッシュに入れます。
combinations_in_hash = Hash.new
[0,1,2,3,4,5,6,7,8,9].combination(4).to_a.each_with_index { |x,i| combinations_in_hash[i] = x }
combinations_in_hash
しかし
combinations_in_hash = Hash.new
[0,1,2,3,4,5,6,7,8,9].combination(4).to_a.each_with_index { |x,i| combinations_in_hash[x] = Array.new(x.permutation.to_a) }
combinations_in_hash
またはアレイ状に...のは、組み合わせの順序は問題DID言わせて:
[0,1,2,3,4,5,6,7,8,9].permutation(4).to_a
順列を渡すことによって、組み合わせ/順列効果を組み合わせることができます長さの引数。念のため!
これは5,040種類の組み合わせです。悪くない!
問題を解決しようとしたコードを含めて質問を改善してください。 – Bustikiller
私が持っているのは、whileループです。どうにかして何とか数字を並べ替える必要があることが分かりました。 –
コードを投稿するとよいスタートポイントになります。あなたがやろうとしていることをもっと明確にしてくれるでしょう。 – Bustikiller