回答編集履歴
1
「良く使われる」は言い過ぎかもしれないので削除
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
> 条件を満たすすべての解の組み合わせを表示したいが、変数束縛によって解の組が1つしか表示できない
|
2
2
|
> 方針またはやり方を教えてほしい
|
3
3
|
|
4
|
-
例えば`x`の解が`[x1, x2]`の2つ、`y`の解が`[y1, y2, y3]`の3つだとして、考えられる(x, y)が`(x1, y1), (x1, y2), (x1, y3)...(x2, y2), (x2, y3)`のように組み合わせを列挙したいということですね。方針、やり方として候補になりうるものをひとつ挙げるとすれば、
|
4
|
+
例えば`x`の解が`[x1, x2]`の2つ、`y`の解が`[y1, y2, y3]`の3つだとして、考えられる(x, y)が`(x1, y1), (x1, y2), (x1, y3)...(x2, y2), (x2, y3)`のように組み合わせを列挙したいということですね。方針、やり方として候補になりうるものをひとつ挙げるとすれば、「**再帰**」です。
|
5
5
|
|
6
6
|
以下は`x`の解が2つ、`y`の解が3つ、おまけで`z`の解が4つある場合の`(x, y, z)`全ての組み合わせを列挙するサンプルです。
|
7
7
|
```Java
|
@@ -66,4 +66,4 @@
|
|
66
66
|
x2, y3, z3
|
67
67
|
x2, y3, z4
|
68
68
|
```
|
69
|
-
再帰を使う場合、再帰呼び出しの深さに注意しなければなりませんが、前もってその深さが
|
69
|
+
再帰を使う場合、再帰呼び出しの深さに注意しなければなりませんが、前もってその深さが見積れる場合には充分使える方法だと思います。
|