MathJaxで順列と組合せを表現
順列と組合せ使った数式
{}_n \mathrm{ P }_r
{}_n \mathrm{ C }_r
Pythonでは「itertools」を利用すると、順列と組合せが簡単に求められます。
import itertools
# 3個を並べる順列 :3P3
items = ['A', "B", "C"]
perm = list(itertools.permutations(items))
print(perm)
print(len(perm))
import itertools
# 3個から2個選んで並べる順列 :3P2
items = ['A', "B", "C"]
perm = list(itertools.permutations(items, 2))
print(perm)
print(len(perm))
import itertools
# 同じものを含む順列はsetで重複を削除します。
items = ['A', "B", "B"] # BとB
perm = list(set(itertools.permutations(items)))
perm.sort()
print(perm)
print(len(perm))
import itertools
# 5個から3個を選ぶ組合せ(順序を区別しない) :5C3
items = ['a', "b", "c", "d", "e"]
comb = list(itertools.combinations(items, 3))
print(comb)
print(len(comb))
import itertools
# 同じものを含む5個から3個を選ぶ組合せ(順序を区別しない)
items = ['赤', '赤', "白", "白", '白']
comb = list(set(itertools.combinations(items, 3))) #setで重複を削除する
print(comb)
print(len(comb))
今回からJupyter Notebookで作成したデータを利用しています。HTMLに自動変換したコードをそのまま記事に貼れるため大変便利です。
0 件のコメント :
コメントを投稿