1

1 だけで構成された n 桁の数字があります。可能なすべての組み合わせで 1 を 0 に置き換え、その組み合わせを配列に格納したいと考えています。すべての組み合わせを見つけるにはどうすればよいですか? 私は1つのゼロから始めて、1を置き換えるゼロの場合は数を増やすことを考えていました. たとえば、ゼロが 2 つある場合、1 つのゼロの位置を固定したまま、もう一方のゼロを移動します。最後に到達したら、もう一方のゼロについても同じことを行います。しかし、その後、繰り返される組み合わせを根絶する必要があります。基本的に、これは複雑になっています。組み合わせを見つけるためのより良い方法を知りたいです!

4

1 に答える 1

3

生成しようとしているだけですn-digit binary numbers。これは、さまざまな数を生成できることを意味します2^n。だからここに行く:

  • まず、計算し2^nます。
  • 0から始まりで終わるループを実装します2^n
  • すべてのループ変数について、変数を 10 進数として取り、それを 2 進数に変換し、(必要に応じて) 先頭にゼロを追加して長さを n にします。
  • バイナリを順列配列に追加します。
于 2013-04-14T06:31:32.047 に答える