回答編集履歴
5
ソース修正
test
CHANGED
@@ -136,4 +136,4 @@
|
|
136
136
|
|
137
137
|
**補足2:**
|
138
138
|
|
139
|
-
上記【命題】の証明は、数学的
|
139
|
+
上記【命題】の証明は、数学的帰納法を使えばできそうです。(ちゃんと書いてみたわけではないけど)
|
4
ソース修正
test
CHANGED
@@ -129,3 +129,11 @@
|
|
129
129
|
|
130
130
|
|
131
131
|
正しいとすれば、その証明はどこかの大学の情報科学科の授業だったり課題の資料を探せば出てきそうですね。
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
**補足2:**
|
138
|
+
|
139
|
+
上記【命題】の証明は、数学的機能法を使えばできそうです。(ちゃんと書いてみたわけではないけど)
|
3
ソース修正
test
CHANGED
@@ -120,7 +120,7 @@
|
|
120
120
|
|
121
121
|
【命題】
|
122
122
|
|
123
|
-
昇順に整列された順列 `P0 = (1, 2, ・・・ , n)` を並べ替えてできる任意の順列 `P = (f(1), f(2), ・・・ f(n))`
|
123
|
+
昇順に整列された順列 `P0 = (1, 2, ・・・ , n)` を並べ替えてできる任意の順列 `P = (f(1), f(2), ・・・ f(n))`(ただしfは、集合A={1, 2, ・・・ n}として、AからAへの一対一かつ上への写像)とする。また隣接する`(i-1)`番目の要素と`i`番目の要素を交換する操作を `s(i)` とする。このとき、`P0` に対して、`s(i)`を有限回適用することで、任意の `P` にできる。
|
124
124
|
|
125
125
|
|
126
126
|
|
2
ソース修正
test
CHANGED
@@ -108,4 +108,24 @@
|
|
108
108
|
|
109
109
|
|
110
110
|
|
111
|
-
|
111
|
+
|
112
|
+
|
113
|
+
**補足:**
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
また、上記の`perm(nums)`がこの問題の解のひとつであることを主張するには、厳密には、以下の命題の証明が必要と思います。
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
【命題】
|
122
|
+
|
123
|
+
昇順に整列された順列 `P0 = (1, 2, ・・・ , n)` を並べ替えてできる任意の順列 `P = (f(1), f(2), ・・・ f(n))` (fは集合{1, 2, ・・・ n}で定義された、一対一かつ上への写像)とする。また隣接する`(i-1)`番目の要素と`i`番目の要素を交換する操作を `s(i)` とする。このとき、`P0` に対して、`s(i)`を有限回適用することで、任意の `P` にできる。
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
この【命題】、正しいのかな? っていうのがあります。(先の[サンプル](https://replit.com/@suwmn50799/359512terateiru) では、一応(気休めとして)、`(1, 2, 3, 4, 5)` に対する`perm`関数の返す集合の要素数が `5!` の`120`であることを確認していますが。)
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
正しいとすれば、その証明はどこかの大学の情報科学科の授業だったり課題の資料を探せば出てきそうですね。
|
1
ソース修正
test
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
を順次適用していくループによって順列の集合を作っていき、新しい順列が作られなくなったところでループを終了させます。最初に与えられる`nums`および`nums`の要素を交換して出来る順列
|
13
|
+
を順次適用していくループによって順列の集合を作っていき、新しい順列が作られなくなったところでループを終了させます。最初に与えられる`nums`および`nums`の要素を交換して出来る順列をsetの要素にしたいので、リストではなくタプルで表すことにしました。
|
14
14
|
|
15
15
|
|
16
16
|
|